Skip to content
This repository was archived by the owner on Apr 12, 2021. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 6b6f9d769a50
Choose a base ref
...
head repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0eb0ddc4dbe3
Choose a head ref

Commits on Feb 28, 2020

  1. Copy the full SHA
    65336dc View commit details
  2. Copy the full SHA
    1660735 View commit details
  3. geoclue2: 2.5.5 -> 2.5.6

    r-ryantm committed Feb 28, 2020
    Copy the full SHA
    f150d16 View commit details
  4. Merge pull request #81308 from r-ryantm/auto-update/geoclue

    geoclue2: 2.5.5 -> 2.5.6
    7c6f434c authored Feb 28, 2020
    Copy the full SHA
    71d5e15 View commit details
  5. Copy the full SHA
    330fab1 View commit details

Commits on Feb 29, 2020

  1. rustPlatform.fetchCargo: handle custom Cargo.lock patchfiles with val…

    …idation
    
    Previously, we would asssert that the lockfiles are consistent during the
    unpackPhase, but if the pkg has a patch for the lockfile itself then we must
    wait until the patchPhase is complete to check.
    
    This also removes an implicity dependency on the src attribute coming from
    `fetchzip` / `fetchFromGitHub`, which happens to name the source directory
    "source". Now we glob for it, so different fetchers will work consistently.
    bhipple authored and Jon committed Feb 29, 2020
    Copy the full SHA
    ad30a30 View commit details
  2. Merge pull request #81336 from r-ryantm/auto-update/libsoup

    gnome3.libsoup: 2.68.3 -> 2.68.4
    7c6f434c authored Feb 29, 2020
    Copy the full SHA
    29142e6 View commit details
  3. Merge staging-next into staging

    FRidh committed Feb 29, 2020
    Copy the full SHA
    21b808c View commit details
  4. Copy the full SHA
    95e3292 View commit details

Commits on Mar 1, 2020

  1. Merge pull request #81407 from primeos/wayland-protocols

    wayland-protocols: 1.18 -> 1.20
    flokli authored Mar 1, 2020
    Copy the full SHA
    03ed5af View commit details
  2. Copy the full SHA
    deec226 View commit details
  3. glibc: provide fallback for kernels with missing prlimit64

    The current version of glibc implements support for kernels down to
    3.2.0 (and we make sure to enable such support with apporopriate
    --enable-kernel setting). The current RHEL6 operating system is based on
    a maintained kernel based on 2.6.32 with lots of backports. We provide
    basic support for this specific kernel by patching glibc to provide an
    exception for this specific version of kernel. This allows for nixpkgs
    software distribution to work on RHEL6 and it does so quite well with
    almost no problems. There are, however, a few syscalls that are missing
    in the 2.6.32 kernel, one of which is prlimit64. This commit provides a
    fallback that uses an older {get,set}rlimit syscalls in cases when
    prlimit64 is not available. This should streamline the experience for
    nixpkgs users wanting to run it on RHEL6, namely, this fixes one of the
    tests in findutils.
    
    See also discussion in guix:
    https://lists.gnu.org/archive/html/guix-devel/2018-03/msg00356.html
    veprbl committed Mar 1, 2020
    Copy the full SHA
    6740593 View commit details

Commits on Mar 2, 2020

  1. pythonPackages.setuptools: 44.0.0 -> 45.2.0

    Jonathan Ringer committed Mar 2, 2020
    Copy the full SHA
    6181bfc View commit details
  2. python2Packages.setuptools: freeze at 44.0.0

    Jonathan Ringer committed Mar 2, 2020
    Copy the full SHA
    c3c4754 View commit details

Commits on Mar 3, 2020

  1. python38: 3.8.1 -> 3.8.2

    Jonathan Ringer authored and FRidh committed Mar 3, 2020
    Copy the full SHA
    2a019cc View commit details
  2. python39: 3.9.0.a3 -> 3.9.0.a4

    Jonathan Ringer authored and FRidh committed Mar 3, 2020
    Copy the full SHA
    fe45803 View commit details
  3. modemmanager: 1.12.4 -> 1.12.6

    r-ryantm authored and FRidh committed Mar 3, 2020
    Copy the full SHA
    fe898d5 View commit details
  4. python: add pythonRemoveTestsDirHook

    This will automatically remove a top-level "tests"
    directory from being installed.
    Jonathan Ringer authored and FRidh committed Mar 3, 2020
    Copy the full SHA
    3973a3c View commit details

Commits on Mar 4, 2020

  1. wrapGAppsHook: Fix #78803

    Add to gappsWrapperArgs in preFixupPhases.
    worldofpeace committed Mar 4, 2020
    Copy the full SHA
    29fc27b View commit details
  2. Merge pull request #81475 from worldofpeace/fix-wrapgapps

    wrapGAppsHook: Fix #78803
    worldofpeace authored Mar 4, 2020
    Copy the full SHA
    add141c View commit details
  3. Merge pull request #80961 from veprbl/pr/glibc_prlimit64

    glibc: provide fallback for kernels with missing prlimit64
    edolstra authored Mar 4, 2020
    Copy the full SHA
    9b2ac44 View commit details
  4. Merge pull request #81466 from r-ryantm/auto-update/at-spi2-atk

    at-spi2-atk: 2.34.1 -> 2.34.2
    jtojnar authored Mar 4, 2020
    Copy the full SHA
    62e0973 View commit details
  5. Copy the full SHA
    1a44e32 View commit details
  6. glib.setupHook: run glibPreFixupPhase before gappsWrapperArgsHook

    Since we split wrapGAppsHook and move its variable initialization to preFixupPhases in #81475, it was getting run before glibPreFixupPhase which sets GSETTINGS_SCHEMAS_PATH variable gappsWrapperArgsHook depends on. Let's introduce this ugly hack to ensure glibPreFixupPhase will run before gappsWrapperArgsHook.
    jtojnar committed Mar 4, 2020
    Copy the full SHA
    8e4f502 View commit details
  7. Copy the full SHA
    e1831eb View commit details
  8. Merge pull request #81759 from jtojnar/gio-wgah-order-hack

    glib.setupHook: run glibPreFixupPhase before gappsWrapperArgsHook
    worldofpeace authored Mar 4, 2020
    Copy the full SHA
    0d877fb View commit details

Commits on Mar 5, 2020

  1. Copy the full SHA
    d9feea5 View commit details
  2. pythonPackages.cffi: 1.13.2 -> 1.14.0

    Jonathan Ringer committed Mar 5, 2020
    Copy the full SHA
    19f7c64 View commit details

Commits on Mar 6, 2020

  1. Merge pull request #81844 from lopsided98/gcc-separate-output-cross

    gcc: place cross-compiled target libraries in lib output
    matthewbauer authored Mar 6, 2020
    Copy the full SHA
    b8102aa View commit details
  2. stdenv: update ARM bootstrap tarballs

    Fixes building glibc 2.30, which requires at least GCC 6.
    
    Picked from the following cross-trunk evaluation:
    https://hydra.nixos.org/eval/1568864 based on nixpkgs
    commit ac241fb.
    
    armv5tel job: https://hydra.nixos.org/build/111556418
    armv6l job: https://hydra.nixos.org/build/111556521
    armv7l job: https://hydra.nixos.org/build/111556551
    lopsided98 authored and FRidh committed Mar 6, 2020
    Copy the full SHA
    ee39e49 View commit details
  3. unpack-bootstrap-tools: remove obsolete linker script patching

    The linker scripts no longer contain store paths, so this does nothing. More
    importantly, libpthread.so is not longer a linker script on ARM, so the patching
    would corrupt it.
    lopsided98 authored and FRidh committed Mar 6, 2020
    Copy the full SHA
    05fc2a3 View commit details
  4. gnupg: apply patch to allow import of key updates without user ids

    This adds a patch series which allows GnuPG to import updates
    (revocations and subkeys) from certificates that contain no user ids.
    This is relevant for refreshing keys from the default keyserver
    keys.openpgp.org, where only user ids that contain verified email
    addresses will be distributed, and revoked keys never contain any user
    ids.
    
    This patch series was originally authored and submitted to upstream half
    a year ago (by me), but now comes from Debian packaging where it's been
    included since then.
    
    Relates to the following upstream issue: https://dev.gnupg.org/T4393
    Valodim authored and FRidh committed Mar 6, 2020
    Copy the full SHA
    7cc68a9 View commit details
  5. libvdpau: 1.2 -> 1.3

    adds support for VP9 decoding
    felschr authored and FRidh committed Mar 6, 2020
    Copy the full SHA
    297f755 View commit details
  6. vdpauinfo: 1.0 -> 1.3

    felschr authored and FRidh committed Mar 6, 2020
    Copy the full SHA
    efc1e24 View commit details
  7. Copy the full SHA
    bb0d036 View commit details
  8. gdb: 8.3.1 -> 9.1

    lsix authored and FRidh committed Mar 6, 2020
    Copy the full SHA
    4e08586 View commit details
  9. libevdev: 1.8.0 -> 1.9.0

    r-ryantm authored and FRidh committed Mar 6, 2020
    Copy the full SHA
    023ef3d View commit details
  10. libva: 2.5.0 -> 2.6.1

    colemickens authored and FRidh committed Mar 6, 2020
    Copy the full SHA
    a1f22cb View commit details
  11. vim: 8.2.0227 -> 8.2.0343

    r-ryantm authored and FRidh committed Mar 6, 2020
    Copy the full SHA
    43ccb03 View commit details
  12. Merge master into staging-next

    FRidh committed Mar 6, 2020
    Copy the full SHA
    05aeaea View commit details
  13. Copy the full SHA
    188c3a4 View commit details
  14. util-linux: use $bin output for umount

    This wasn’t updated when adding the bin output.
    matthewbauer authored and FRidh committed Mar 6, 2020
    Copy the full SHA
    8d72e6b View commit details
  15. Copy the full SHA
    fed080b View commit details

Commits on Mar 8, 2020

  1. Merge staging-next into master

    FRidh committed Mar 8, 2020
    Copy the full SHA
    0eb0ddc View commit details
Showing with 1,743 additions and 198 deletions.
  1. +6 −4 doc/languages-frameworks/rust.section.md
  2. +3 −3 pkgs/applications/editors/vim/common.nix
  3. +3 −4 pkgs/applications/science/misc/rink/default.nix
  4. +1 −4 pkgs/applications/virtualization/crosvm/default.nix
  5. +3 −7 pkgs/applications/virtualization/railcar/default.nix
  6. +3 −1 pkgs/build-support/cc-wrapper/default.nix
  7. +26 −4 pkgs/build-support/rust/default.nix
  8. +66 −61 pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
  9. +13 −20 pkgs/development/compilers/gcc/builder.sh
  10. +4 −4 pkgs/development/interpreters/python/default.nix
  11. +8 −0 pkgs/development/interpreters/python/hooks/default.nix
  12. +15 −0 pkgs/development/interpreters/python/hooks/python-remove-tests-dir-hook.sh
  13. +2 −0 pkgs/development/interpreters/python/mk-python-derivation.nix
  14. +3 −3 pkgs/development/libraries/at-spi2-atk/default.nix
  15. +3 −3 pkgs/development/libraries/geoclue/default.nix
  16. +9 −1 pkgs/development/libraries/glib/setup-hook.sh
  17. +12 −0 pkgs/development/libraries/glibc/common.nix
  18. +3 −3 pkgs/development/libraries/libevdev/default.nix
  19. +3 −3 pkgs/development/libraries/libsoup/default.nix
  20. +2 −2 pkgs/development/libraries/libva/default.nix
  21. +8 −9 pkgs/development/libraries/libvdpau/default.nix
  22. +9 −0 pkgs/development/libraries/libvdpau/installdir.patch
  23. +3 −3 pkgs/development/libraries/ncurses/default.nix
  24. +2 −2 pkgs/development/libraries/wayland/protocols.nix
  25. +2 −2 pkgs/development/python-modules/cffi/default.nix
  26. +74 −0 pkgs/development/python-modules/setuptools/44.0.nix
  27. +2 −2 pkgs/development/python-modules/setuptools/default.nix
  28. +2 −11 pkgs/development/tools/build-managers/meson/default.nix
  29. +1 −1 pkgs/development/tools/misc/gdb/darwin-target-match.patch
  30. +21 −12 pkgs/development/tools/misc/gdb/debug-info-from-env.patch
  31. +10 −3 pkgs/development/tools/misc/gdb/default.nix
  32. +1,053 −0 pkgs/development/tools/rust/cargo-make/cargo.patch
  33. +1 −1 pkgs/os-specific/linux/util-linux/default.nix
  34. +4 −4 pkgs/stdenv/linux/bootstrap-files/armv5tel.nix
  35. +4 −4 pkgs/stdenv/linux/bootstrap-files/armv6l.nix
  36. +4 −4 pkgs/stdenv/linux/bootstrap-files/armv7l.nix
  37. +0 −5 pkgs/stdenv/linux/bootstrap-tools/scripts/unpack-bootstrap-tools.sh
  38. +4 −3 pkgs/tools/X11/vdpauinfo/default.nix
  39. +3 −3 pkgs/tools/networking/modem-manager/default.nix
  40. +3 −0 pkgs/tools/security/gnupg/22.nix
  41. +32 −0 pkgs/tools/security/gnupg/accept-subkeys-with-a-good-revocation-but-no-self-sig.patch
  42. +106 −0 pkgs/tools/security/gnupg/allow-import-of-previously-known-keys-even-without-UI.patch
  43. +201 −0 pkgs/tools/security/gnupg/tests-add-test-cases-for-import-without-uid.patch
  44. +1 −0 pkgs/top-level/all-packages.nix
  45. +5 −2 pkgs/top-level/python-packages.nix
10 changes: 6 additions & 4 deletions doc/languages-frameworks/rust.section.md
Original file line number Diff line number Diff line change
@@ -53,10 +53,12 @@ all crate sources of this package. Currently it is obtained by inserting a
fake checksum into the expression and building the package once. The correct
checksum can be then take from the failed build.

When the `Cargo.lock`, provided by upstream, is not in sync with the
`Cargo.toml`, it is possible to use `cargoPatches` to update it. All patches
added in `cargoPatches` will also be prepended to the patches in `patches` at
build-time.
Per the instructions in the [Cargo Book](https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html)
best practices guide, Rust applications should always commit the `Cargo.lock`
file in git to ensure a reproducible build. However, a few packages do not, and
Nix depends on this file, so if it missing you can use `cargoPatches` to apply
it in the `patchPhase`. Consider sending a PR upstream with a note to the
maintainer describing why it's important to include in the application.

Unless `legacyCargoFetcher` is set to `true`, the fetcher will also verify that
the `Cargo.lock` file is in sync with the `src` attribute, and will compress the
6 changes: 3 additions & 3 deletions pkgs/applications/editors/vim/common.nix
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{ lib, fetchFromGitHub }:
rec {
version = "8.2.0227";
version = "8.2.0343";

src = fetchFromGitHub {
owner = "vim";
repo = "vim";
rev = "v${version}";
sha256 = "1yi7l2yd214iv6i8pr52m272mlzps5v3h6xdgr1770xfz4y1yc0h";
sha256 = "063i52h8v7f87zamrw2ph057f0x2nzwf1s0izrm2psy41cyf4wa3";
};

enableParallelBuilding = true;
@@ -22,7 +22,7 @@ rec {

meta = with lib; {
description = "The most popular clone of the VI editor";
homepage = http://www.vim.org;
homepage = "http://www.vim.org";
license = licenses.vim;
maintainers = with maintainers; [ lovek323 equirosa ];
platforms = platforms.unix;
7 changes: 3 additions & 4 deletions pkgs/applications/science/misc/rink/default.nix
Original file line number Diff line number Diff line change
@@ -10,12 +10,11 @@ rustPlatform.buildRustPackage rec {
rev = "v${version}";
sha256 = "0vl996y58a9b62d8sqrpfn2h8qkya7qbg5zqsmy7nxhph1vhbspj";
};
cargoPatches = [ ./cargo-lock.patch ];

# Delete this on next update; see #79975 for details
legacyCargoFetcher = true;
# Upstreamed in https://github.com/tiffany352/rink-rs/pull/53
cargoPatches = [ ./cargo-lock.patch ];

cargoSha256 = "0q2g1hkqyzq9lsas4fhsbpk3jn5hikchh6i1jf9c08ca2xm136c2";
cargoSha256 = "0shlh0m9k0iqxpv9zmiw7a6v197swrvpz9x6qzhximzkdwni9gz9";

buildInputs = [ pkgconfig ];
propagatedBuildInputs = [ openssl gmp ncurses ];
5 changes: 1 addition & 4 deletions pkgs/applications/virtualization/crosvm/default.nix
Original file line number Diff line number Diff line change
@@ -53,10 +53,7 @@ in
./default-seccomp-policy-dir.diff
];

# Delete this on next update; see #79975 for details
legacyCargoFetcher = true;

cargoSha256 = "1d7y07wkliy5qnlyx5zj6ni39avhs3s48sqgvwxm5g5zrahg2a85";
cargoSha256 = "1s9nfgfqk140hg08i0xzylnrgrx84dqss0vnvhxnydwy9q03nk7r";

nativeBuildInputs = [ pkgconfig ];

10 changes: 3 additions & 7 deletions pkgs/applications/virtualization/railcar/default.nix
Original file line number Diff line number Diff line change
@@ -11,15 +11,11 @@ rustPlatform.buildRustPackage rec {
sha256 = "09zn160qxd7760ii6rs5nhr00qmaz49x1plclscznxh9hinyjyh9";
};

# Delete this on next update; see #79975 for details
legacyCargoFetcher = true;

cargoSha256 = "1k4y37x783fsd8li17k56vlx5ziwmrz167a0w5mcb9sgyd2kc19a";

buildInputs = [ libseccomp ];

# Submitted upstream https://github.com/oracle/railcar/pull/44
cargoPatches = [ ./cargo-lock.patch ];
cargoSha256 = "10qxkxpdprl2rcgy52s3q5gyg3i75qmx68rpl7cx1bgjzppfn9c3";

buildInputs = [ libseccomp ];

meta = with lib; {
description = "Rust implementation of the Open Containers Initiative oci-runtime";
4 changes: 3 additions & 1 deletion pkgs/build-support/cc-wrapper/default.nix
Original file line number Diff line number Diff line change
@@ -41,7 +41,9 @@ let
libc_bin = if libc == null then null else getBin libc;
libc_dev = if libc == null then null else getDev libc;
libc_lib = if libc == null then null else getLib libc;
cc_solib = getLib cc;
cc_solib = getLib cc
+ optionalString (targetPlatform != hostPlatform) "/${targetPlatform.config}";

# The wrapper scripts use 'cat' and 'grep', so we may need coreutils.
coreutils_bin = if nativeTools then "" else getBin coreutils;

30 changes: 26 additions & 4 deletions pkgs/build-support/rust/default.nix
Original file line number Diff line number Diff line change
@@ -114,15 +114,37 @@ stdenv.mkDerivation (filteredArgs // {
EOF
export RUST_LOG=${logLevel}
'' + stdenv.lib.optionalString validateCargoDeps ''
if ! diff source/Cargo.lock $cargoDepsCopy/Cargo.lock ; then
'' + (args.postUnpack or "");

# After unpacking and applying patches, check that the Cargo.lock matches our
# src package. Note that we do this after the patchPhase, because the
# patchPhase may create the Cargo.lock if upstream has not shipped one.
postPatch = (args.postPatch or "") + stdenv.lib.optionalString validateCargoDeps ''
cargoDepsLockfile=$NIX_BUILD_TOP/$cargoDepsCopy/Cargo.lock
srcLockfile=$NIX_BUILD_TOP/$sourceRoot/Cargo.lock
echo "Validating consistency between $srcLockfile and $cargoDepsLockfile"
if ! diff $srcLockfile $cargoDepsLockfile; then
# If the diff failed, first double-check that the file exists, so we can
# give a friendlier error msg.
if ! [ -e $srcLockfile ]; then
echo "ERROR: Missing Cargo.lock from src. Expected to find it at: $srcLockfile"
exit 1
fi
if ! [ -e $cargoDepsLockfile ]; then
echo "ERROR: Missing lockfile from cargo vendor. Expected to find it at: $cargoDepsLockfile"
exit 1
fi
echo
echo "ERROR: cargoSha256 is out of date"
echo
echo "Cargo.lock is not the same in $cargoDepsCopy"
echo
echo "To fix the issue:"
echo '1. Use "1111111111111111111111111111111111111111111111111111" as the cargoSha256 value'
echo '1. Use "0000000000000000000000000000000000000000000000000000" as the cargoSha256 value'
echo "2. Build the derivation and wait it to fail with a hash mismatch"
echo "3. Copy the 'got: sha256:' value back into the cargoSha256 field"
echo
@@ -131,7 +153,7 @@ stdenv.mkDerivation (filteredArgs // {
fi
'' + ''
unset cargoDepsCopy
'' + (args.postUnpack or "");
'';

configurePhase = args.configurePhase or ''
runHook preConfigure
127 changes: 66 additions & 61 deletions pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
Original file line number Diff line number Diff line change
@@ -9,6 +9,37 @@ find_gio_modules() {

addEnvHooks "${targetOffset:?}" find_gio_modules

gappsWrapperArgsHook() {
if [ -n "$GDK_PIXBUF_MODULE_FILE" ]; then
gappsWrapperArgs+=(--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE")
fi

if [ -n "$XDG_ICON_DIRS" ]; then
gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS")
fi

if [ -n "$GSETTINGS_SCHEMAS_PATH" ]; then
gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH")
fi

# Check for prefix as well
if [ -d "${prefix:?}/share" ]; then
gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$prefix/share")
fi

if [ -d "$prefix/lib/gio/modules" ] && [ -n "$(ls -A "$prefix/lib/gio/modules")" ]; then
gappsWrapperArgs+=(--prefix GIO_EXTRA_MODULES : "$prefix/lib/gio/modules")
fi

for v in ${wrapPrefixVariables:-} GST_PLUGIN_SYSTEM_PATH_1_0 GI_TYPELIB_PATH GRL_PLUGIN_PATH; do
if [ -n "${!v}" ]; then
gappsWrapperArgs+=(--prefix "$v" : "${!v}")
fi
done
}

preFixupPhases+=" gappsWrapperArgsHook"

wrapGApp() {
local program="$1"
shift 1
@@ -17,72 +48,46 @@ wrapGApp() {

# Note: $gappsWrapperArgs still gets defined even if ${dontWrapGApps-} is set.
wrapGAppsHook() {
# guard against running multiple times (e.g. due to propagation)
[ -z "$wrapGAppsHookHasRun" ] || return 0
wrapGAppsHookHasRun=1

if [ -n "$GDK_PIXBUF_MODULE_FILE" ]; then
gappsWrapperArgs+=(--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE")
fi

if [ -n "$XDG_ICON_DIRS" ]; then
gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS")
fi

if [ -n "$GSETTINGS_SCHEMAS_PATH" ]; then
gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH")
fi

if [ -d "${prefix:?}/share" ]; then
gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$prefix/share")
fi
# guard against running multiple times (e.g. due to propagation)
[ -z "$wrapGAppsHookHasRun" ] || return 0
wrapGAppsHookHasRun=1

if [ -d "$prefix/lib/gio/modules" ] && [ -n "$(ls -A "$prefix/lib/gio/modules")" ] ; then
gappsWrapperArgs+=(--prefix GIO_EXTRA_MODULES : "$prefix/lib/gio/modules")
fi
if [[ -z "${dontWrapGApps:-}" ]]; then
targetDirsThatExist=()
targetDirsRealPath=()

for v in ${wrapPrefixVariables:-} GST_PLUGIN_SYSTEM_PATH_1_0 GI_TYPELIB_PATH GRL_PLUGIN_PATH; do
if [ -n "${!v}" ]; then
gappsWrapperArgs+=(--prefix "$v" : "${!v}")
fi
done

if [[ -z "${dontWrapGApps:-}" ]]; then
targetDirsThatExist=()
targetDirsRealPath=()

# wrap binaries
targetDirs=( "${prefix}/bin" "${prefix}/libexec" )
for targetDir in "${targetDirs[@]}"; do
if [[ -d "${targetDir}" ]]; then
targetDirsThatExist+=("${targetDir}")
targetDirsRealPath+=("$(realpath "${targetDir}")/")
find "${targetDir}" -type f -executable -print0 \
| while IFS= read -r -d '' file; do
echo "Wrapping program '${file}'"
wrapGApp "${file}"
# wrap binaries
targetDirs=("${prefix}/bin" "${prefix}/libexec")
for targetDir in "${targetDirs[@]}"; do
if [[ -d "${targetDir}" ]]; then
targetDirsThatExist+=("${targetDir}")
targetDirsRealPath+=("$(realpath "${targetDir}")/")
find "${targetDir}" -type f -executable -print0 |
while IFS= read -r -d '' file; do
echo "Wrapping program '${file}'"
wrapGApp "${file}"
done
fi
done
fi
done

# wrap links to binaries that point outside targetDirs
# Note: links to binaries within targetDirs do not need
# to be wrapped as the binaries have already been wrapped
if [[ ${#targetDirsThatExist[@]} -ne 0 ]]; then
find "${targetDirsThatExist[@]}" -type l -xtype f -executable -print0 \
| while IFS= read -r -d '' linkPath; do
linkPathReal=$(realpath "${linkPath}")
for targetPath in "${targetDirsRealPath[@]}"; do
if [[ "$linkPathReal" == "$targetPath"* ]]; then
echo "Not wrapping link: '$linkPath' (already wrapped)"
continue 2
fi
done
echo "Wrapping link: '$linkPath'"
wrapGApp "${linkPath}"
done
# wrap links to binaries that point outside targetDirs
# Note: links to binaries within targetDirs do not need
# to be wrapped as the binaries have already been wrapped
if [[ ${#targetDirsThatExist[@]} -ne 0 ]]; then
find "${targetDirsThatExist[@]}" -type l -xtype f -executable -print0 |
while IFS= read -r -d '' linkPath; do
linkPathReal=$(realpath "${linkPath}")
for targetPath in "${targetDirsRealPath[@]}"; do
if [[ "$linkPathReal" == "$targetPath"* ]]; then
echo "Not wrapping link: '$linkPath' (already wrapped)"
continue 2
fi
done
echo "Wrapping link: '$linkPath'"
wrapGApp "${linkPath}"
done
fi
fi
fi
}

fixupOutputHooks+=(wrapGAppsHook)
33 changes: 13 additions & 20 deletions pkgs/development/compilers/gcc/builder.sh
Original file line number Diff line number Diff line change
@@ -133,7 +133,7 @@ if test "$noSysDirs" = "1"; then

if test "$crossStageStatic" == 1; then
# We don't want the gcc build to assume there will be a libc providing
# limits.h in this stagae
# limits.h in this stage
makeFlagsArray+=(
'LIMITS_H_TEST=false'
)
@@ -203,31 +203,31 @@ postConfigure() {
preInstall() {
# Make ‘lib64’ symlinks to ‘lib’.
if [ -n "$is64bit" -a -z "$enableMultilib" ]; then
mkdir -p "$out/lib"
ln -s lib "$out/lib64"
mkdir -p "$lib/lib"
ln -s lib "$lib/lib64"
mkdir -p "$out/${targetConfig}/lib"
ln -s lib "$out/${targetConfig}/lib64"
mkdir -p "$lib/${targetConfig}/lib"
ln -s lib "$lib/${targetConfig}/lib64"
fi
}


postInstall() {
# Move runtime libraries to $lib.
moveToOutput "lib/lib*.so*" "$lib"
moveToOutput "lib/lib*.la" "$lib"
moveToOutput "lib/lib*.dylib" "$lib"
moveToOutput "${targetConfig+$targetConfig/}lib/lib*.so*" "$lib"
moveToOutput "${targetConfig+$targetConfig/}lib/lib*.la" "$lib"
moveToOutput "${targetConfig+$targetConfig/}lib/lib*.dylib" "$lib"
moveToOutput "share/gcc-*/python" "$lib"

for i in "$lib"/lib/*.{la,py}; do
for i in "$lib/${targetConfig}"/lib/*.{la,py}; do
substituteInPlace "$i" --replace "$out" "$lib"
done

if [ -n "$enableMultilib" ]; then
moveToOutput "lib64/lib*.so*" "$lib"
moveToOutput "lib64/lib*.la" "$lib"
moveToOutput "lib64/lib*.dylib" "$lib"
moveToOutput "${targetConfig+$targetConfig/}lib64/lib*.so*" "$lib"
moveToOutput "${targetConfig+$targetConfig/}lib64/lib*.la" "$lib"
moveToOutput "${targetConfig+$targetConfig/}lib64/lib*.dylib" "$lib"

for i in "$lib"/lib64/*.{la,py}; do
for i in "$lib/${targetConfig}"/lib64/*.{la,py}; do
substituteInPlace "$i" --replace "$out" "$lib"
done
fi
@@ -247,13 +247,6 @@ postInstall() {
NEW_RPATH=`echo "$PREV_RPATH" | sed 's,:[^:]*bootstrap-tools/lib,,g'`
patchelf --set-rpath "$NEW_RPATH" "$i" && echo OK
done

# For some reason the libs retain RPATH to $out
for i in "$lib"/lib/{libtsan,libasan,libubsan}.so.*.*.*; do
PREV_RPATH=`patchelf --print-rpath "$i"`
NEW_RPATH=`echo "$PREV_RPATH" | sed "s,:${out}[^:]*,,g"`
patchelf --set-rpath "$NEW_RPATH" "$i" && echo OK
done
fi

if type "install_name_tool"; then
8 changes: 4 additions & 4 deletions pkgs/development/interpreters/python/default.nix
Original file line number Diff line number Diff line change
@@ -105,10 +105,10 @@ in {
sourceVersion = {
major = "3";
minor = "8";
patch = "1";
patch = "2";
suffix = "";
};
sha256 = "1s4lwn5vzsajlc88m6hkghsvnjw4d00l2dsgng0m2w6vyqbl32bm";
sha256 = "1ps5v323cp5czfshqjmbsqw7nvrdpcbk06f62jbzaqik4gfffii6";
inherit (darwin) configd;
inherit passthruFun;
};
@@ -119,9 +119,9 @@ in {
major = "3";
minor = "9";
patch = "0";
suffix = "a3";
suffix = "a4";
};
sha256 = "09l68jyfhhass3cqyqyp2cv3a3i86qs0x736isidmpbrbxsincva";
sha256 = "0qzy0wlq0izxk8ii28gy70v138g6xnz9sgsxpyayls2j04l6b5vz";
inherit (darwin) configd;
inherit passthruFun;
};
Loading