nixpkgs/pkgs/build-support
Michal Sojka b681ad3254 buildFHSUserEnv: Allow having custom /opt in the FHS environment
buildFHSUserEnv is meant primarily for running 3rd-party software
which is difficult to patch for NixOS. Such software is often built to
run from /opt. Currently, running such a software from FHS environment
is difficult for two reasons:

1. If the 3rd-party software is put into the Nix store via a simple
   derivation (with e.g. installPhase = "dpkg-deb -x $src $out"), the
   content of /opt directory of that derivation does not appear in the
   FHSEnv even if the derivation is specified in targetPkgs. This is
   why we change env.nix.

2. If using buildFHSUserEnvChroot and the host system has the /opt
   directory, it always gets bind-mounted to the FHSEnv even if some
   targetPkgs contain /opt (NB buildFHSUserEnvBubblewrap does not have
   this problem). If that directory is not accessible for non-root
   users (which is what docker's containerd does with /opt :-(), the
   user running the FHSEnv cannot use it.

   With the change in chrootenv.c, /opt is not bind-mounted to the
   container, but instead created as user-modifiable symlink to
   /host/opt (see the init attribute in
   build-fhs-userenv/default.nix). If needed, the user can remove this
   symlink and create an empty /opt directory which is under his/her
   control.
2021-06-27 08:33:51 +02:00
..
add-opengl-runpath
agda mkShell: introduce packages argument () 2021-05-13 19:17:29 +02:00
alternatives
appimage Change all alsaLib references to alsa-lib 2021-06-10 01:12:49 -03:00
bintools-wrapper wrapBintoolsWith: fix final stage NetBSD 2021-06-07 11:49:31 +00:00
build-bazel-package buildBazelPackage: set fetchConfigured default to true 2021-06-07 02:04:01 +00:00
build-dotnet-package
build-fhs-userenv buildFHSUserEnv: Allow having custom /opt in the FHS environment 2021-06-27 08:33:51 +02:00
build-fhs-userenv-bubblewrap buildFHSUserEnv: Allow having custom /opt in the FHS environment 2021-06-27 08:33:51 +02:00
build-setupcfg
buildenv trivial-builders: merge passAsFile with env in runCommand' 2021-03-18 19:56:40 +01:00
cc-wrapper treewide: All the linker to be chosen independently 2021-05-14 21:29:51 +00:00
coq mkCoqDerivation: fix useDune2 2021-06-10 21:52:03 +02:00
docker Merge pull request from hercules-ci/fix-dockerTools-example-fetch-sha 2021-06-10 10:10:18 +02:00
dotnetbuildhelpers
dotnetenv
emacs emacs: adapt to renamed native-comp variables 2021-05-06 16:47:21 -03:00
expand-response-params
fetchbitbucket
fetchbower
fetchbzr
fetchcvs
fetchdarcs
fetchdocker fix: fetchdocker call signature 2021-05-08 23:57:32 +02:00
fetchfirefoxaddon
fetchfossil
fetchgit fetchgit: document --fetch-lfs flag 2021-05-07 15:38:54 -07:00
fetchgitea fetchFromGitea: init 2021-05-27 09:35:56 +02:00
fetchgithub
fetchgitiles
fetchgitlab
fetchgitlocal
fetchgx
fetchhg
fetchipfs
fetchmavenartifact
fetchmtn
fetchnuget
fetchpatch
fetchrepoorcz
fetchrepoproject
fetchs3
fetchsavannah
fetchsourcehut
fetchsvn
fetchsvnrevision
fetchsvnssh
fetchurl fetchurl: add testpypi mirror () 2021-05-24 22:24:30 +02:00
fetchzip fetchzip: accept urls 2021-04-07 02:41:25 +02:00
go
icon-conv-tools
install-shell-files
kernel
libredirect brscan5: init at 1.2.6-0 2021-05-21 12:59:30 -05:00
make-desktopitem build-support/make-desktopitem: add some missing fields 2021-06-04 17:48:46 +02:00
make-startupitem
make-symlinks
mkshell mkShell: introduce packages argument () 2021-05-13 19:17:29 +02:00
mono-dll-fixer
nix-gitignore
nuke-references nukeReferences: fix code signatures on aarch64-darwin 2021-05-17 00:27:03 +09:00
ocaml build-support.ocaml.dune: handle minimalOCamlVersion typo 2021-06-11 11:08:12 +02:00
oci-tools
pkg-config-wrapper pkg-config-wrapper: mangle PKG_CONFIG_PATH{,_FOR_BUILD} correctly 2021-05-18 00:13:27 +02:00
prefer-remote-fetch
references-by-popularity
release releaseTools: fix nixBuild function 2021-03-29 21:24:00 +02:00
remove-references-to removeReferencesTo: fix code signatures on aarch64-darwin 2021-05-17 00:27:03 +09:00
replace-secret replace-secret: Init 2021-05-19 09:32:00 +02:00
rust Merge pull request from danieldk/import-cargo-lock 2021-05-28 12:07:25 +02:00
setup-hooks fixDarwinDylibNames: set name of install_name_tool 2021-05-17 00:27:01 +09:00
singularity-tools
skaware skawarePackages.buildPackage: add me as maintainer 2021-06-16 07:59:51 +00:00
snap
src-only
substitute
substitute-files
templaterpm
trivial-builders tests.trivial: Add emptyFile, emptyDirectory to samples 2021-06-12 17:29:27 +02:00
upstream-updater
vm vmTools: update current maintained debian versions 2021-05-27 07:33:11 +02:00
wrapper-common pkg-config-wrapper: mangle PKG_CONFIG_PATH{,_FOR_BUILD} correctly 2021-05-18 00:13:27 +02:00
writers writers: Allow string paths 2021-06-25 14:39:59 +02:00
build-maven.nix
build-pecl.nix php.buildPecl: Add checkPhase 2021-05-27 12:19:14 -04:00
closure-info.nix
dhall-to-nix.nix
plugins.nix
replace-dependency.nix
setup-systemd-units.nix
source-from-head-fun.nix
trivial-builders.nix emptyFile, emptyDirectory: init 2021-06-12 17:28:00 +02:00