diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2016-04-10 11:17:52 +0200 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2016-04-10 11:17:52 +0200 |
commit | 30f14243c33f1b386273d08a4776aa679c42143d (patch) | |
tree | bd123d5c2ab4fef012ae7de6a225c092f8d611b8 /pkgs/build-support | |
parent | 50fccad5828fb459760fd7578951bb961a18c0fc (diff) | |
parent | 2463e0917318581da94e7ba92703b63128c40424 (diff) | |
download | nixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar nixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar.gz nixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar.bz2 nixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar.lz nixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar.xz nixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar.zst nixlib-30f14243c33f1b386273d08a4776aa679c42143d.zip |
Merge branch 'master' into closure-size
Comparison to master evaluations on Hydra: - 1255515 for nixos - 1255502 for nixpkgs
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/build-fhs-userenv/default.nix | 9 | ||||
-rw-r--r-- | pkgs/build-support/emacs/wrapper.nix | 26 | ||||
-rw-r--r-- | pkgs/build-support/setup-hooks/use-old-cxx-abi.sh | 1 | ||||
-rw-r--r-- | pkgs/build-support/vm/default.nix | 19 |
4 files changed, 32 insertions, 23 deletions
diff --git a/pkgs/build-support/build-fhs-userenv/default.nix b/pkgs/build-support/build-fhs-userenv/default.nix index a7e1bd11977a..a38f0a4f623d 100644 --- a/pkgs/build-support/build-fhs-userenv/default.nix +++ b/pkgs/build-support/build-fhs-userenv/default.nix @@ -1,5 +1,5 @@ { runCommand, lib, writeText, writeScriptBin, stdenv, ruby } : -{ env, runScript ? "bash", extraBindMounts ? [], extraInstallCommands ? "", importMeta ? {} } : +{ env, runScript ? "bash", extraBindMounts ? [], extraInstallCommands ? "", meta ? {}, passthru ? {} } : let name = env.pname; @@ -27,9 +27,9 @@ let ''; in runCommand name { - meta = importMeta; - passthru.env = - runCommand "${name}-shell-env" { + inherit meta; + passthru = passthru // { + env = runCommand "${name}-shell-env" { shellHook = '' export CHROOTENV_EXTRA_BINDS="${lib.concatStringsSep ":" extraBindMounts}:$CHROOTENV_EXTRA_BINDS" exec ${chroot-user}/bin/chroot-user ${env} bash -l ${init "bash"} "$(pwd)" @@ -40,6 +40,7 @@ in runCommand name { echo >&2 "" exit 1 ''; + }; } '' mkdir -p $out/bin cat <<EOF >$out/bin/${name} diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix index efee43d852ea..7be4d21bfa8d 100644 --- a/pkgs/build-support/emacs/wrapper.nix +++ b/pkgs/build-support/emacs/wrapper.nix @@ -51,8 +51,11 @@ stdenv.mkDerivation { inherit emacs explicitRequires; phases = [ "installPhase" ]; installPhase = '' - mkdir -p $out/bin - mkdir -p $out/share/emacs/site-lisp + readonly SHARE="share/emacs-with-packages" + + mkdir -p "$out/bin" + mkdir -p "$out/$SHARE/bin" + mkdir -p "$out/$SHARE/site-lisp" local requires for pkg in $explicitRequires; do @@ -60,29 +63,32 @@ stdenv.mkDerivation { done # requires now holds all requested packages and their transitive dependencies - siteStart="$out/share/emacs/site-lisp/site-start.el" + siteStart="$out/$SHARE/site-lisp/site-start.el" # Begin the new site-start.el by loading the original, which sets some # NixOS-specific paths. Paths are searched in the reverse of the order # they are specified in, so user and system profile paths are searched last. cat >"$siteStart" <<EOF (load-file "$emacs/share/emacs/site-lisp/site-start.el") -(add-to-list 'load-path "$out/share/emacs/site-lisp") +(add-to-list 'load-path "$out/$SHARE/site-lisp") +(add-to-list 'exec-path "$out/$SHARE/bin") EOF linkPath() { local pkg=$1 - local path=$2 + local origin_path=$2 + local dest_path=$3 + # Add the path to the search path list, but only if it exists - if [[ -d "$pkg/$path" ]]; then - lndir -silent "$pkg/$path" "$out/$path" + if [[ -d "$pkg/$origin_path" ]]; then + lndir -silent "$pkg/$origin_path" "$out/$dest_path" fi } # Add a package's paths to site-start.el linkEmacsPackage() { - linkPath "$1" "bin" - linkPath "$1" "share/emacs/site-lisp" + linkPath "$1" "bin" "$SHARE/bin" + linkPath "$1" "share/emacs/site-lisp" "$SHARE/site-lisp" } # First, link all the explicitly-required packages. @@ -103,7 +109,7 @@ EOF local progname=$(basename "$prog") rm -f "$out/bin/$progname" makeWrapper "$prog" "$out/bin/$progname" \ - --suffix EMACSLOADPATH ":" "$out/share/emacs/site-lisp:" + --suffix EMACSLOADPATH ":" "$out/$SHARE/site-lisp:" done mkdir -p $out/share diff --git a/pkgs/build-support/setup-hooks/use-old-cxx-abi.sh b/pkgs/build-support/setup-hooks/use-old-cxx-abi.sh new file mode 100644 index 000000000000..53335d7a9a7a --- /dev/null +++ b/pkgs/build-support/setup-hooks/use-old-cxx-abi.sh @@ -0,0 +1 @@ +export NIX_CFLAGS_COMPILE+=" -D_GLIBCXX_USE_CXX11_ABI=0" diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index dd093dfc2ca7..e670e1ef2258 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -414,12 +414,12 @@ rec { fillDiskWithRPMs = { size ? 4096, rpms, name, fullName, preInstall ? "", postInstall ? "" , runScripts ? true, createRootFS ? defaultCreateRootFS + , QEMU_OPTS ? "", memSize ? 512 , unifiedSystemDir ? false }: runInLinuxVM (stdenv.mkDerivation { - inherit name preInstall postInstall rpms; - memSize = 512; + inherit name preInstall postInstall rpms QEMU_OPTS memSize; preVM = createEmptyImage {inherit size fullName;}; buildCommand = '' @@ -685,10 +685,11 @@ rec { , packages, extraPackages ? [] , preInstall ? "", postInstall ? "", archs ? ["noarch" "i386"] , runScripts ? true, createRootFS ? defaultCreateRootFS + , QEMU_OPTS ? "", memSize ? 512 , unifiedSystemDir ? false }: fillDiskWithRPMs { - inherit name fullName size preInstall postInstall runScripts createRootFS unifiedSystemDir; + inherit name fullName size preInstall postInstall runScripts createRootFS unifiedSystemDir QEMU_OPTS memSize; rpms = import (rpmClosureGenerator { inherit name packagesLists urlPrefixes archs; packages = packages ++ extraPackages; @@ -1780,22 +1781,22 @@ rec { }; debian8i386 = { - name = "debian-8.3-jessie-i386"; - fullName = "Debian 8.3 Jessie (i386)"; + name = "debian-8.4-jessie-i386"; + fullName = "Debian 8.4 Jessie (i386)"; packagesList = fetchurl { url = mirror://debian/dists/jessie/main/binary-i386/Packages.xz; - sha256 = "1240d404bd99afbeec042c08fdab049f0b5a984a393cac7c221553ab08f637f5"; + sha256 = "1j8swc1nzsi20vbcmya2sv0fzcnz7lhwb32lxabgcwm3xlkzlg58"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; }; debian8x86_64 = { - name = "debian-8.3-jessie-amd64"; - fullName = "Debian 8.3 Jessie (amd64)"; + name = "debian-8.4-jessie-amd64"; + fullName = "Debian 8.4 Jessie (amd64)"; packagesList = fetchurl { url = mirror://debian/dists/jessie/main/binary-amd64/Packages.xz; - sha256 = "ec937c1b3bbfe4803f0fa43681b19d089eb6b355455ac7caa17ec8e9ff604e56"; + sha256 = "0kipisyjkhczghzqj4a8y1n4az9c4c8lsj8sw7js13b053lpj6ga"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; |