1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-12-21 21:54:10 +00:00
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 (#122180) 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 #125223 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 responsie file logic 2021-02-09 09:46:47 +08:00
fetchbitbucket fetchFromBitbucket: remove hack for Mercurial 2021-02-08 17:54:12 +00:00
fetchbower
fetchbzr
fetchcvs fetchcvs: fix ssh wrapper failing due to missing /usr/bin/env 2021-02-08 19:18:17 +01:00
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 treewide: unzip buildInputs to nativeBuildInputs (#112302) 2021-02-20 16:01:53 -05:00
fetchpatch
fetchrepoorcz
fetchrepoproject
fetchs3 treewide: remove stdenv where not needed 2021-03-04 19:54:50 +07:00
fetchsavannah
fetchsourcehut fetchFromSourcehut: init 2021-03-08 15:51:24 +01:00
fetchsvn
fetchsvnrevision
fetchsvnssh
fetchurl fetchurl: add testpypi mirror (#123146) 2021-05-24 22:24:30 +02:00
fetchzip fetchzip: accept urls 2021-04-07 02:41:25 +02:00
go garble: fix aarch64 build 2021-02-20 21:13:46 +10:00
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 (#122180) 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 #122158 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 treewide: makeWrapper buildInputs to nativeBuildInputs 2021-02-19 20:09:16 +07:00
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 setupSystemdUnits: use /nix/var/nix/profiles/default/lib/systemd/system as fallback 2021-02-12 12:53:20 +01:00
source-from-head-fun.nix
trivial-builders.nix emptyFile, emptyDirectory: init 2021-06-12 17:28:00 +02:00