tree-wide: buildFHSUserEnv -> buildFHSEnv
This commit is contained in:
parent
1baab4e14a
commit
f63a12f296
60 changed files with 114 additions and 110 deletions
|
@ -1,6 +1,6 @@
|
|||
# buildFHSUserEnv {#sec-fhs-environments}
|
||||
# buildFHSEnv {#sec-fhs-environments}
|
||||
|
||||
`buildFHSUserEnv` provides a way to build and run FHS-compatible lightweight sandboxes. It creates an isolated root with bound `/nix/store`, so its footprint in terms of disk space needed is quite small. This allows one to run software which is hard or unfeasible to patch for NixOS -- 3rd-party source trees with FHS assumptions, games distributed as tarballs, software with integrity checking and/or external self-updated binaries. It uses Linux namespaces feature to create temporary lightweight environments which are destroyed after all child processes exit, without root user rights requirement. Accepted arguments are:
|
||||
`buildFHSEnv` provides a way to build and run FHS-compatible lightweight sandboxes. It creates an isolated root with bound `/nix/store`, so its footprint in terms of disk space needed is quite small. This allows one to run software which is hard or unfeasible to patch for NixOS -- 3rd-party source trees with FHS assumptions, games distributed as tarballs, software with integrity checking and/or external self-updated binaries. It uses Linux namespaces feature to create temporary lightweight environments which are destroyed after all child processes exit, without root user rights requirement. Accepted arguments are:
|
||||
|
||||
- `name`
|
||||
Environment name.
|
||||
|
@ -26,7 +26,7 @@ One can create a simple environment using a `shell.nix` like that:
|
|||
```nix
|
||||
{ pkgs ? import <nixpkgs> {} }:
|
||||
|
||||
(pkgs.buildFHSUserEnv {
|
||||
(pkgs.buildFHSEnv {
|
||||
name = "simple-x11-env";
|
||||
targetPkgs = pkgs: (with pkgs;
|
||||
[ udev
|
||||
|
|
|
@ -94,6 +94,6 @@ environment.systemPackages = [ pkgs.appimage-run ];
|
|||
Then instead of running the AppImage "as-is", run `appimage-run foo.appimage`.
|
||||
|
||||
To make other pre-built executables work on NixOS, you need to package them
|
||||
with Nix and special helpers like `autoPatchelfHook` or `buildFHSUserEnv`. See
|
||||
with Nix and special helpers like `autoPatchelfHook` or `buildFHSEnv`. See
|
||||
the [Nixpkgs manual](https://nixos.org/nixpkgs/manual) for details. This
|
||||
is complex and often doing a source build is easier.
|
||||
|
|
|
@ -6,7 +6,7 @@ let
|
|||
cfg = config.services.boinc;
|
||||
allowRemoteGuiRpcFlag = optionalString cfg.allowRemoteGuiRpc "--allow_remote_gui_rpc";
|
||||
|
||||
fhsEnv = pkgs.buildFHSUserEnv {
|
||||
fhsEnv = pkgs.buildFHSEnv {
|
||||
name = "boinc-fhs-env";
|
||||
targetPkgs = pkgs': [ cfg.package ] ++ cfg.extraEnvPackages;
|
||||
runScript = "/bin/boinc_client";
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{ lib
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, sparrow-unwrapped
|
||||
}:
|
||||
|
||||
buildFHSUserEnv {
|
||||
buildFHSEnv {
|
||||
name = "sparrow";
|
||||
|
||||
runScript = "${sparrow-unwrapped}/bin/sparrow";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
{ alsa-lib
|
||||
, bash
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, cacert
|
||||
, coreutils
|
||||
, dbus
|
||||
|
@ -178,7 +178,7 @@ let
|
|||
# Android Studio downloads prebuilt binaries as part of the SDK. These tools
|
||||
# (e.g. `mksdcard`) have `/lib/ld-linux.so.2` set as the interpreter. An FHS
|
||||
# environment is used as a work around for that.
|
||||
fhsEnv = buildFHSUserEnv {
|
||||
fhsEnv = buildFHSEnv {
|
||||
name = "${drvName}-fhs-env";
|
||||
multiPkgs = pkgs: [
|
||||
ncurses5
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ callPackage, makeFontsConf, gnome2, buildFHSUserEnv, tiling_wm ? false }:
|
||||
{ callPackage, makeFontsConf, gnome2, buildFHSEnv, tiling_wm ? false }:
|
||||
|
||||
let
|
||||
mkStudio = opts: callPackage (import ./common.nix opts) {
|
||||
|
@ -6,7 +6,7 @@ let
|
|||
fontDirectories = [];
|
||||
};
|
||||
inherit (gnome2) GConf gnome_vfs;
|
||||
inherit buildFHSUserEnv;
|
||||
inherit buildFHSEnv;
|
||||
inherit tiling_wm;
|
||||
};
|
||||
stableVersion = {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, lib, buildFHSUserEnv, callPackage, makeDesktopItem, writeScript
|
||||
{ stdenv, lib, buildFHSEnv, callPackage, makeDesktopItem, writeScript
|
||||
, supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ]
|
||||
, unwrapped ? callPackage ./quartus.nix { inherit supportedDevices; }
|
||||
}:
|
||||
|
@ -13,7 +13,7 @@ let
|
|||
categories = [ "Development" ];
|
||||
};
|
||||
# I think modelsim_ase/linux/vlm checksums itself, so use FHSUserEnv instead of `patchelf`
|
||||
in buildFHSUserEnv rec {
|
||||
in buildFHSEnv rec {
|
||||
name = "quartus-prime-lite"; # wrapped
|
||||
|
||||
targetPkgs = pkgs: with pkgs; [
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ stdenv, lib, makeDesktopItem
|
||||
, unzip, libsecret, libXScrnSaver, libxshmfence, buildPackages
|
||||
, atomEnv, at-spi2-atk, autoPatchelfHook
|
||||
, systemd, fontconfig, libdbusmenu, glib, buildFHSUserEnvBubblewrap, wayland
|
||||
, systemd, fontconfig, libdbusmenu, glib, buildFHSEnvBubblewrap, wayland
|
||||
|
||||
# Populate passthru.tests
|
||||
, tests
|
||||
|
@ -150,9 +150,9 @@ let
|
|||
# in order to create or update extensions.
|
||||
# See: #83288 #91179 #73810 #41189
|
||||
#
|
||||
# buildFHSUserEnv allows for users to use the existing vscode
|
||||
# buildFHSEnv allows for users to use the existing vscode
|
||||
# extension tooling without significant pain.
|
||||
fhs = { additionalPkgs ? pkgs: [] }: buildFHSUserEnvBubblewrap {
|
||||
fhs = { additionalPkgs ? pkgs: [] }: buildFHSEnvBubblewrap {
|
||||
# also determines the name of the wrapped command
|
||||
name = executableName;
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
, mkDerivation
|
||||
, xkeyboard_config
|
||||
, fetchurl
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, openal
|
||||
, makeDesktopItem
|
||||
}:
|
||||
|
@ -94,9 +94,9 @@ let
|
|||
in
|
||||
|
||||
# We can patch the "/bin/superposition", but "/bin/launcher" checks it for changes.
|
||||
# For that we need use a buildFHSUserEnv.
|
||||
# For that we need use a buildFHSEnv.
|
||||
|
||||
buildFHSUserEnv {
|
||||
buildFHSEnv {
|
||||
name = "Superposition";
|
||||
|
||||
targetPkgs = pkgs: [
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib
|
||||
, buildFHSUserEnvBubblewrap
|
||||
, buildFHSEnvBubblewrap
|
||||
, symlinkJoin
|
||||
, bottles-unwrapped
|
||||
, gst_all_1
|
||||
|
@ -99,8 +99,8 @@ in
|
|||
symlinkJoin {
|
||||
name = "bottles";
|
||||
paths = [
|
||||
(buildFHSUserEnvBubblewrap (fhsEnv // { name = "bottles"; runScript = "bottles"; }))
|
||||
(buildFHSUserEnvBubblewrap (fhsEnv // { name = "bottles-cli"; runScript = "bottles-cli"; }))
|
||||
(buildFHSEnvBubblewrap (fhsEnv // { name = "bottles"; runScript = "bottles"; }))
|
||||
(buildFHSEnvBubblewrap (fhsEnv // { name = "bottles-cli"; runScript = "bottles-cli"; }))
|
||||
];
|
||||
postBuild = ''
|
||||
mkdir -p $out/share
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, stdenv, writeScript, callPackage, buildFHSUserEnv, unwrapped ? callPackage ./runtime.nix {} }:
|
||||
{ lib, stdenv, writeScript, callPackage, buildFHSEnv, unwrapped ? callPackage ./runtime.nix {} }:
|
||||
|
||||
buildFHSUserEnv rec {
|
||||
buildFHSEnv rec {
|
||||
name = "houdini-${unwrapped.version}";
|
||||
|
||||
targetPkgs = pkgs: with pkgs; [
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, buildFHSUserEnv, lutris-unwrapped
|
||||
{ lib, buildFHSEnv, lutris-unwrapped
|
||||
, extraPkgs ? pkgs: [ ]
|
||||
, extraLibraries ? pkgs: [ ]
|
||||
, steamSupport ? true
|
||||
|
@ -13,7 +13,7 @@ let
|
|||
libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite
|
||||
];
|
||||
|
||||
in buildFHSUserEnv {
|
||||
in buildFHSEnv {
|
||||
name = "lutris";
|
||||
|
||||
runScript = "lutris";
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
, version
|
||||
, desktopName
|
||||
, longDescription
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, extraBuildInputs ? [ ]
|
||||
, jdk
|
||||
, stdenv
|
||||
|
@ -68,7 +68,7 @@ let
|
|||
|
||||
in
|
||||
# Package with cups in FHS sandbox, because JAVA bin expects "/usr/bin/lpr" for printing.
|
||||
buildFHSUserEnv {
|
||||
buildFHSEnv {
|
||||
name = pname;
|
||||
targetPkgs = pkgs: [
|
||||
cups
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, lib, fetchurl, buildFHSUserEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }:
|
||||
{ stdenv, lib, fetchurl, buildFHSEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }:
|
||||
let
|
||||
pname = "sidequest";
|
||||
version = "0.10.24";
|
||||
|
@ -38,7 +38,7 @@
|
|||
"$out/lib/SideQuest/sidequest"
|
||||
'';
|
||||
};
|
||||
in buildFHSUserEnv {
|
||||
in buildFHSEnv {
|
||||
name = "SideQuest";
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, buildFHSUserEnvBubblewrap
|
||||
, buildFHSEnvBubblewrap
|
||||
, copyDesktopItems
|
||||
, dpkg
|
||||
, lndir
|
||||
|
@ -40,7 +40,7 @@ let
|
|||
mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ];
|
||||
};
|
||||
|
||||
fhs = buildFHSUserEnvBubblewrap {
|
||||
fhs = buildFHSEnvBubblewrap {
|
||||
name = "packettracer7";
|
||||
runScript = "${ptFiles}/bin/packettracer7";
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
, lib
|
||||
, alsa-lib
|
||||
, autoPatchelfHook
|
||||
, buildFHSUserEnvBubblewrap
|
||||
, buildFHSEnvBubblewrap
|
||||
, copyDesktopItems
|
||||
, dbus
|
||||
, dpkg
|
||||
|
@ -97,7 +97,7 @@ let
|
|||
mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ];
|
||||
};
|
||||
|
||||
fhs = buildFHSUserEnvBubblewrap {
|
||||
fhs = buildFHSEnvBubblewrap {
|
||||
name = "packettracer8";
|
||||
runScript = "${ptFiles}/bin/packettracer";
|
||||
targetPkgs = pkgs: [ libudev0-shim ];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, lib, buildFHSUserEnv, writeScript, makeDesktopItem }:
|
||||
{ stdenv, lib, buildFHSEnv, writeScript, makeDesktopItem }:
|
||||
|
||||
let platforms = [ "i686-linux" "x86_64-linux" ]; in
|
||||
|
||||
|
@ -30,7 +30,7 @@ let
|
|||
};
|
||||
in
|
||||
|
||||
buildFHSUserEnv {
|
||||
buildFHSEnv {
|
||||
name = "dropbox";
|
||||
|
||||
targetPkgs = pkgs: with pkgs; with xorg; [
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ autoPatchelfHook
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, dpkg
|
||||
, fetchurl
|
||||
, inotify-tools
|
||||
|
@ -41,7 +41,7 @@ let
|
|||
'';
|
||||
};
|
||||
|
||||
expressvpndFHS = buildFHSUserEnv {
|
||||
expressvpndFHS = buildFHSEnv {
|
||||
name = "expressvpnd";
|
||||
|
||||
# When connected, it directly creates/deletes resolv.conf to change the DNS entries.
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# of applications.
|
||||
#
|
||||
# What Nix does, simplifying a bit, is that it extracts an AppImage and starts
|
||||
# it via buildFHSUserEnv - this is totally fine for majority of apps, but makes
|
||||
# it via buildFHSEnv - this is totally fine for majority of apps, but makes
|
||||
# it by-design *impossible* to launch SUID wrappers [^1]; in case of pCloud,
|
||||
# it's fusermount.
|
||||
# (so pCloud starts, but silently fails to mount the FUSE drive.)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, fetchurl
|
||||
, gsettings-desktop-schemas
|
||||
, makeDesktopItem
|
||||
|
@ -57,7 +57,7 @@ let
|
|||
'';
|
||||
};
|
||||
|
||||
vmwareFHSUserEnv = name: buildFHSUserEnv {
|
||||
vmwareFHSUserEnv = name: buildFHSEnv {
|
||||
inherit name;
|
||||
|
||||
runScript = "${vmwareHorizonClientFiles}/bin/${name}_wrapper";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ atk
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, cairo
|
||||
, dpkg
|
||||
, gdk-pixbuf
|
||||
|
@ -56,7 +56,7 @@ let
|
|||
${(wrapBinary libs) attrs.toolName}
|
||||
'';
|
||||
});
|
||||
in buildFHSUserEnv {
|
||||
in buildFHSEnv {
|
||||
name = "${attrs.toolName}-${attrs.version}";
|
||||
runScript = "${pkg.outPath}/bin/${attrs.toolName}";
|
||||
} // { inherit (pkg) meta name; }
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, stdenv
|
||||
, autoPatchelfHook
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, dpkg
|
||||
, fetchurl
|
||||
, gcc-unwrapped
|
||||
|
@ -35,7 +35,7 @@ let
|
|||
installPhase = "cp -ar usr $out";
|
||||
};
|
||||
in
|
||||
buildFHSUserEnv {
|
||||
buildFHSEnv {
|
||||
name = fahclient.name;
|
||||
|
||||
targetPkgs = pkgs': [
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
, addOpenGLRunpath
|
||||
, libGLU
|
||||
, xorg
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, bash
|
||||
, writeText
|
||||
, ocl-icd
|
||||
|
@ -133,7 +133,7 @@ let
|
|||
}
|
||||
);
|
||||
in
|
||||
buildFHSUserEnv {
|
||||
buildFHSEnv {
|
||||
name = "davinci-resolve";
|
||||
targetPkgs = pkgs: with pkgs; [
|
||||
librsvg
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSUserEnv
|
||||
{ lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSEnv
|
||||
, gtk3, gdk-pixbuf, cairo, libjpeg_original, glib, pango, libGLU
|
||||
, libGL, nvidia_cg_toolkit, zlib, openssl, libuuid , alsa-lib, udev, libjack2
|
||||
}:
|
||||
|
@ -73,7 +73,7 @@ let
|
|||
};
|
||||
|
||||
# Lightworks expects some files in /usr/share/lightworks
|
||||
in buildFHSUserEnv {
|
||||
in buildFHSEnv {
|
||||
name = lightworks.name;
|
||||
|
||||
targetPkgs = pkgs: [
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
## - export ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
||||
## - jq "del(.scripts.preinstall)" node_modules/shellcheck/package.json | sponge node_modules/shellcheck/package.json
|
||||
{
|
||||
lib, stdenv, buildFHSUserEnvBubblewrap, runCommand, writeScript, fetchurl, fetchzip
|
||||
lib, stdenv, buildFHSEnvBubblewrap, runCommand, writeScript, fetchurl, fetchzip
|
||||
}:
|
||||
let
|
||||
pname = "webtorrent-desktop";
|
||||
|
@ -20,7 +20,7 @@ runCommand "${pname}-${version}" rec {
|
|||
else
|
||||
throw "Webtorrent is not currently supported on ${stdenv.hostPlatform.system}";
|
||||
|
||||
fhs = buildFHSUserEnvBubblewrap rec {
|
||||
fhs = buildFHSEnvBubblewrap rec {
|
||||
name = "fhsEnterWebTorrent";
|
||||
runScript = "${src}/WebTorrent";
|
||||
## use the trampoline, if you need to shell into the fhsenv
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, fetchurl
|
||||
, lib
|
||||
, zlib
|
||||
|
@ -64,7 +64,7 @@ let
|
|||
'';
|
||||
});
|
||||
|
||||
vmware-unpack-env = buildFHSUserEnv rec {
|
||||
vmware-unpack-env = buildFHSEnv rec {
|
||||
name = "vmware-unpack-env";
|
||||
targetPkgs = pkgs: [ zlib ];
|
||||
};
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
, libarchive
|
||||
, pv
|
||||
, squashfsTools
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, pkgs
|
||||
}:
|
||||
|
||||
|
@ -43,7 +43,7 @@ rec {
|
|||
extraPkgs,
|
||||
meta ? {},
|
||||
...
|
||||
}: buildFHSUserEnv
|
||||
}: buildFHSEnv
|
||||
(defaultFhsEnvArgs // {
|
||||
inherit name;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
}:
|
||||
|
||||
{ bash
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, cacert
|
||||
, git
|
||||
, runCommand
|
||||
|
@ -100,7 +100,7 @@ let
|
|||
|
||||
# Wrap flutter inside an fhs user env to allow execution of binary,
|
||||
# like adb from $ANDROID_HOME or java from android-studio.
|
||||
fhsEnv = buildFHSUserEnv {
|
||||
fhsEnv = buildFHSEnv {
|
||||
name = "${drvName}-fhs-env";
|
||||
multiPkgs = pkgs: [
|
||||
# Flutter only use these certificates
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, buildGoModule, fetchFromGitHub, buildFHSUserEnv, installShellFiles }:
|
||||
{ lib, stdenv, buildGoModule, fetchFromGitHub, buildFHSEnv, installShellFiles }:
|
||||
|
||||
let
|
||||
|
||||
|
@ -48,10 +48,10 @@ let
|
|||
|
||||
in
|
||||
if stdenv.isLinux then
|
||||
# buildFHSUserEnv is needed because the arduino-cli downloads compiler
|
||||
# buildFHSEnv is needed because the arduino-cli downloads compiler
|
||||
# toolchains from the internet that have their interpreters pointed at
|
||||
# /lib64/ld-linux-x86-64.so.2
|
||||
buildFHSUserEnv
|
||||
buildFHSEnv
|
||||
{
|
||||
inherit (pkg) name meta;
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{ lib, buildFHSUserEnv, arduino-core-unwrapped, withGui ? false, withTeensyduino ? false }:
|
||||
{ lib, buildFHSEnv, arduino-core-unwrapped, withGui ? false, withTeensyduino ? false }:
|
||||
let
|
||||
arduino-unwrapped = arduino-core-unwrapped.override { inherit withGui withTeensyduino; };
|
||||
in
|
||||
buildFHSUserEnv {
|
||||
buildFHSEnv {
|
||||
name = "arduino";
|
||||
|
||||
targetPkgs =
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, buildFHSUserEnv, platformio-core }:
|
||||
{ lib, buildFHSEnv, platformio-core }:
|
||||
|
||||
let
|
||||
pio-pkgs = pkgs:
|
||||
|
@ -19,7 +19,7 @@ let
|
|||
]);
|
||||
|
||||
in
|
||||
buildFHSUserEnv {
|
||||
buildFHSEnv {
|
||||
name = "platformio";
|
||||
|
||||
targetPkgs = pio-pkgs;
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
, gnused
|
||||
, gawk
|
||||
, coreutils
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
in
|
||||
if stdenv.isLinux then
|
||||
buildFHSUserEnv
|
||||
buildFHSEnv
|
||||
{
|
||||
name = "nextflow";
|
||||
targetPkgs = pkgs: [ nextflow ];
|
||||
|
|
|
@ -94,7 +94,7 @@ buildPythonPackage rec {
|
|||
|
||||
# no tests in PyPI dist
|
||||
# run into https://stackoverflow.com/questions/51203641/attributeerror-module-alembic-context-has-no-attribute-config
|
||||
# also, tests use conda so can't run on NixOS without buildFHSUserEnv
|
||||
# also, tests use conda so can't run on NixOS without buildFHSEnv
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ buildFHSUserEnv
|
||||
{ buildFHSEnv
|
||||
, electron_22
|
||||
, fetchFromGitHub
|
||||
, fetchYarnDeps
|
||||
|
@ -86,7 +86,7 @@ let
|
|||
};
|
||||
|
||||
in
|
||||
buildFHSUserEnv {
|
||||
buildFHSEnv {
|
||||
name = "electron-fiddle";
|
||||
runScript = "${electron}/bin/electron ${unwrapped}/lib/electron-fiddle/resources/app.asar";
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, binutils
|
||||
, dejavu_fonts
|
||||
, pkg-config
|
||||
|
@ -84,7 +84,7 @@ let
|
|||
};
|
||||
|
||||
in
|
||||
buildFHSUserEnv rec {
|
||||
buildFHSEnv rec {
|
||||
name = pname;
|
||||
targetPkgs = pkgs: [
|
||||
binutils
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSUserEnv
|
||||
{ lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSEnv
|
||||
, extraPkgs ? pkgs: [ ]
|
||||
, extraLibs ? pkgs: [ ]
|
||||
}:
|
||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||
makeWrapper
|
||||
];
|
||||
|
||||
fhsEnv = buildFHSUserEnv {
|
||||
fhsEnv = buildFHSEnv {
|
||||
name = "${pname}-fhs-env";
|
||||
runScript = "";
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ fetchurl, stdenv, lib, buildFHSUserEnv, appimageTools, writeShellScript, anki, undmg, zstd, commandLineArgs ? [] }:
|
||||
{ fetchurl, stdenv, lib, buildFHSEnv, appimageTools, writeShellScript, anki, undmg, zstd, commandLineArgs ? [] }:
|
||||
|
||||
let
|
||||
pname = "anki-bin";
|
||||
|
@ -50,7 +50,7 @@ let
|
|||
|
||||
passthru = { inherit sources; };
|
||||
|
||||
fhsUserEnvAnki = buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // {
|
||||
fhsEnvAnki = buildFHSEnv (appimageTools.defaultFhsEnvArgs // {
|
||||
inherit pname version;
|
||||
name = null; # Appimage sets it to "appimage-env"
|
||||
|
||||
|
@ -75,7 +75,7 @@ let
|
|||
});
|
||||
in
|
||||
|
||||
if stdenv.isLinux then fhsUserEnvAnki
|
||||
if stdenv.isLinux then fhsEnvAnki
|
||||
else stdenv.mkDerivation {
|
||||
inherit pname version passthru;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ clonehero-unwrapped
|
||||
, makeDesktopItem
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, liberation_ttf
|
||||
, callPackage
|
||||
}:
|
||||
|
@ -16,7 +16,7 @@ let
|
|||
categories = [ "Game" ];
|
||||
};
|
||||
in
|
||||
buildFHSUserEnv {
|
||||
buildFHSEnv {
|
||||
inherit name;
|
||||
inherit (clonehero-unwrapped) meta;
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ lib
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, heroic-unwrapped
|
||||
, extraPkgs ? pkgs: [ ]
|
||||
, extraLibraries ? pkgs: [ ]
|
||||
}:
|
||||
|
||||
buildFHSUserEnv {
|
||||
buildFHSEnv {
|
||||
name = "heroic";
|
||||
|
||||
runScript = "heroic";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenvNoCC, lib, fetchurl, buildFHSUserEnv }:
|
||||
{ stdenvNoCC, lib, fetchurl, buildFHSEnv }:
|
||||
|
||||
let
|
||||
version = "2.3";
|
||||
|
@ -20,7 +20,7 @@ let
|
|||
};
|
||||
|
||||
# FHS env, as patchelf will not work
|
||||
env = buildFHSUserEnv {
|
||||
env = buildFHSEnv {
|
||||
name = "left4gore-env-${version}";
|
||||
targetPkgs = _: [ left4gore-unwrapped ];
|
||||
runScript = "left4gore";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, autoPatchelfHook
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, cairo
|
||||
, dpkg
|
||||
, fetchurl
|
||||
|
@ -109,10 +109,10 @@ in
|
|||
|
||||
/*
|
||||
* We can patch the runescape launcher, but it downloads a client at runtime and checks it for changes.
|
||||
* For that we need use a buildFHSUserEnv.
|
||||
* For that we need use a buildFHSEnv.
|
||||
* FHS simulates a classic linux shell
|
||||
*/
|
||||
buildFHSUserEnv {
|
||||
buildFHSEnv {
|
||||
name = "RuneScape";
|
||||
targetPkgs = pkgs: [
|
||||
runescape
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{ buildFHSUserEnv, callPackage, lib }:
|
||||
{ buildFHSEnv, callPackage, lib }:
|
||||
let
|
||||
|
||||
shticker-book-unwritten-unwrapped = callPackage ./unwrapped.nix { };
|
||||
|
||||
in buildFHSUserEnv {
|
||||
in buildFHSEnv {
|
||||
name = "shticker_book_unwritten";
|
||||
targetPkgs = pkgs: with pkgs; [
|
||||
alsa-lib
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ makeScopeWithSplicing, generateSplicesForMkScope
|
||||
, stdenv, buildFHSUserEnv, pkgsi686Linux
|
||||
, stdenv, buildFHSEnv, pkgsi686Linux
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -19,7 +19,7 @@ let
|
|||
if self.steamArch == "amd64"
|
||||
then pkgsi686Linux.steamPackages.steam-runtime-wrapped
|
||||
else null;
|
||||
inherit buildFHSUserEnv;
|
||||
inherit buildFHSEnv;
|
||||
};
|
||||
steam-fhsenv-small = steam-fhsenv.override { withGameSpecificLibraries = false; };
|
||||
steamcmd = callPackage ./steamcmd.nix { };
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, writeShellScript, buildFHSUserEnv, steam, glxinfo-i686
|
||||
{ lib, stdenv, writeShellScript, buildFHSEnv, steam, glxinfo-i686
|
||||
, steam-runtime-wrapped, steam-runtime-wrapped-i686 ? null
|
||||
, extraPkgs ? pkgs: [ ] # extra packages to add to targetPkgs
|
||||
, extraLibraries ? pkgs: [ ] # extra packages to add to multiPkgs
|
||||
|
@ -55,7 +55,7 @@ let
|
|||
|
||||
envScript = lib.toShellVars extraEnv;
|
||||
|
||||
in buildFHSUserEnv rec {
|
||||
in buildFHSEnv rec {
|
||||
name = "steam";
|
||||
|
||||
targetPkgs = pkgs: with pkgs; [
|
||||
|
@ -270,7 +270,7 @@ in buildFHSUserEnv rec {
|
|||
# breaks the ability for application to reference shared memory.
|
||||
unsharePid = false;
|
||||
|
||||
passthru.run = buildFHSUserEnv {
|
||||
passthru.run = buildFHSEnv {
|
||||
name = "steam-run";
|
||||
|
||||
targetPkgs = commonTargetPkgs;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, SDL2
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, cmake
|
||||
, copyDesktopItems
|
||||
, curl
|
||||
|
@ -95,7 +95,7 @@ let
|
|||
'';
|
||||
};
|
||||
|
||||
fhsEnv = buildFHSUserEnv {
|
||||
fhsEnv = buildFHSEnv {
|
||||
name = "unvanquished-fhs-wrapper";
|
||||
|
||||
targetPkgs = pkgs: [ libstdcpp-preload-for-unvanquished-nacl ];
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, buildFHSUserEnvBubblewrap
|
||||
, buildFHSEnvBubblewrap
|
||||
, corefonts
|
||||
, dejavu_fonts
|
||||
, dpkg
|
||||
|
@ -57,7 +57,7 @@ let
|
|||
dontStrip = true;
|
||||
|
||||
passthru = {
|
||||
fhs = buildFHSUserEnvBubblewrap {
|
||||
fhs = buildFHSEnvBubblewrap {
|
||||
name = "onlyoffice-wrapper";
|
||||
|
||||
targetPkgs = pkgs: [
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# The actual Plex package that we run is a FHS userenv of the "raw" package.
|
||||
{ stdenv
|
||||
, buildFHSUserEnvBubblewrap
|
||||
, buildFHSEnvBubblewrap
|
||||
, writeScript
|
||||
, plexRaw
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
|||
, dataDir ? "/var/lib/plex"
|
||||
}:
|
||||
|
||||
buildFHSUserEnvBubblewrap {
|
||||
buildFHSEnvBubblewrap {
|
||||
name = "plexmediaserver";
|
||||
|
||||
inherit (plexRaw) meta;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, fetchurl, jdk, buildFHSUserEnv, unzip, makeDesktopItem }:
|
||||
{ lib, fetchurl, jdk, buildFHSEnv, unzip, makeDesktopItem }:
|
||||
let
|
||||
version = "2023.2.4";
|
||||
|
||||
|
@ -23,7 +23,7 @@ let
|
|||
};
|
||||
|
||||
in
|
||||
buildFHSUserEnv {
|
||||
buildFHSEnv {
|
||||
inherit name;
|
||||
|
||||
runScript = "${jdk}/bin/java -jar ${src}";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ appimageTools, buildFHSUserEnv, makeDesktopItem, extraPkgs ? pkgs: [], appimage-run-tests ? null }:
|
||||
{ appimageTools, buildFHSEnv, makeDesktopItem, extraPkgs ? pkgs: [], appimage-run-tests ? null }:
|
||||
|
||||
let
|
||||
name = "appimage-run";
|
||||
|
@ -14,7 +14,7 @@ let
|
|||
mimeTypes = ["application/vnd.appimage" "application/x-iso9660-appimage"];
|
||||
categories = ["PackageManager" "Utility"];
|
||||
};
|
||||
in buildFHSUserEnv (fhsArgs // {
|
||||
in buildFHSEnv (fhsArgs // {
|
||||
inherit name;
|
||||
|
||||
targetPkgs = pkgs: [ appimageTools.appimage-exec ]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
, fetchurl
|
||||
, runCommand
|
||||
, makeWrapper
|
||||
, buildFHSUserEnv
|
||||
, buildFHSEnv
|
||||
, libselinux
|
||||
, libarchive
|
||||
, libGL
|
||||
|
@ -63,7 +63,7 @@ let
|
|||
--prefix "LD_LIBRARY_PATH" : "${libPath}"
|
||||
'');
|
||||
in
|
||||
buildFHSUserEnv {
|
||||
buildFHSEnv {
|
||||
name = "conda-shell";
|
||||
targetPkgs = pkgs: (builtins.concatLists [ [ conda ] condaDeps extraPkgs]);
|
||||
profile = ''
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchurl, dpkg, buildFHSUserEnv
|
||||
{ lib, stdenv, fetchurl, dpkg, buildFHSEnv
|
||||
, glibc, glib, openssl, tpm2-tss
|
||||
, gtk3, gnome, polkit, polkit_gnome
|
||||
}:
|
||||
|
@ -70,7 +70,7 @@ let
|
|||
'';
|
||||
};
|
||||
# /usr/bin/pkcheck is hardcoded in binary - we need FHS
|
||||
in buildFHSUserEnv {
|
||||
in buildFHSEnv {
|
||||
inherit meta;
|
||||
name = pname;
|
||||
|
||||
|
|
|
@ -163,6 +163,10 @@ mapAliases ({
|
|||
bud = throw "bud has been removed: abandoned by upstream"; # Added 2022-03-14
|
||||
inherit (libsForQt5.mauiPackages) buho; # added 2022-05-17
|
||||
buttersink = throw "buttersink has been removed: abandoned by upstream"; # Added 2022-04-05
|
||||
# Shorter names; keep the longer name for back-compat. Added 2023-04-11
|
||||
buildFHSUserEnv = buildFHSEnv;
|
||||
buildFHSUserEnvChroot = buildFHSEnvChroot;
|
||||
buildFHSUserEnvBubblewrap = buildFHSEnvBubblewrap;
|
||||
|
||||
# bitwarden_rs renamed to vaultwarden with release 1.21.0 (2021-04-30)
|
||||
bitwarden_rs = vaultwarden;
|
||||
|
|
|
@ -371,9 +371,9 @@ with pkgs;
|
|||
|
||||
buildEnv = callPackage ../build-support/buildenv { }; # not actually a package
|
||||
|
||||
buildFHSUserEnv = buildFHSUserEnvBubblewrap;
|
||||
buildFHSUserEnvChroot = callPackage ../build-support/build-fhs-userenv { };
|
||||
buildFHSUserEnvBubblewrap = callPackage ../build-support/build-fhs-userenv-bubblewrap { };
|
||||
buildFHSEnv = buildFHSEnvBubblewrap;
|
||||
buildFHSEnvChroot = callPackage ../build-support/build-fhsenv-chroot { };
|
||||
buildFHSEnvBubblewrap = callPackage ../build-support/build-fhsenv-bubblewrap { };
|
||||
|
||||
buildMaven = callPackage ../build-support/build-maven.nix { };
|
||||
|
||||
|
@ -16445,7 +16445,7 @@ with pkgs;
|
|||
zulip = callPackage ../applications/networking/instant-messengers/zulip {
|
||||
# Bubblewrap breaks zulip, see https://github.com/NixOS/nixpkgs/pull/97264#issuecomment-704454645
|
||||
appimageTools = pkgs.appimageTools.override {
|
||||
buildFHSUserEnv = pkgs.buildFHSUserEnv;
|
||||
buildFHSEnv = pkgs.buildFHSEnvChroot;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue