From ccb76eeb3c607704726deb81eacf26b2ec920c6d Mon Sep 17 00:00:00 2001 From: Piotr Bogdan Date: Sun, 4 Nov 2018 03:43:22 +0000 Subject: [PATCH 1/2] chrootenv: strip the binary --- pkgs/build-support/build-fhs-userenv/chrootenv/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/build-support/build-fhs-userenv/chrootenv/default.nix b/pkgs/build-support/build-fhs-userenv/chrootenv/default.nix index 375c30e1e463..4ab8c248e2fa 100644 --- a/pkgs/build-support/build-fhs-userenv/chrootenv/default.nix +++ b/pkgs/build-support/build-fhs-userenv/chrootenv/default.nix @@ -8,6 +8,7 @@ stdenv.mkDerivation { buildCommand = '' cc ${./chrootenv.c} $(pkg-config --cflags --libs glib-2.0) -o $out + ${stdenv.cc.bintools.bintools}/bin/strip $out ''; meta = with stdenv.lib; { From cea0e9226f09a7887a82094a06d77809181b615f Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 4 Nov 2018 11:33:34 +0000 Subject: [PATCH 2/2] chrootenv: use meson --- .../build-fhs-userenv/chrootenv/default.nix | 12 ++++-------- .../build-fhs-userenv/chrootenv/meson.build | 5 +++++ pkgs/build-support/build-fhs-userenv/default.nix | 4 ++-- 3 files changed, 11 insertions(+), 10 deletions(-) create mode 100644 pkgs/build-support/build-fhs-userenv/chrootenv/meson.build diff --git a/pkgs/build-support/build-fhs-userenv/chrootenv/default.nix b/pkgs/build-support/build-fhs-userenv/chrootenv/default.nix index 4ab8c248e2fa..70a7a43bd398 100644 --- a/pkgs/build-support/build-fhs-userenv/chrootenv/default.nix +++ b/pkgs/build-support/build-fhs-userenv/chrootenv/default.nix @@ -1,19 +1,15 @@ -{ stdenv, pkgconfig, glib }: +{ stdenv, meson, ninja, pkgconfig, glib }: stdenv.mkDerivation { name = "chrootenv"; + src = ./.; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ meson ninja pkgconfig ]; buildInputs = [ glib ]; - buildCommand = '' - cc ${./chrootenv.c} $(pkg-config --cflags --libs glib-2.0) -o $out - ${stdenv.cc.bintools.bintools}/bin/strip $out - ''; - meta = with stdenv.lib; { description = "Setup mount/user namespace for FHS emulation"; - license = licenses.free; + license = licenses.mit; maintainers = with maintainers; [ yegortimoshenko ]; platforms = platforms.linux; }; diff --git a/pkgs/build-support/build-fhs-userenv/chrootenv/meson.build b/pkgs/build-support/build-fhs-userenv/chrootenv/meson.build new file mode 100644 index 000000000000..6d0770a0dc4a --- /dev/null +++ b/pkgs/build-support/build-fhs-userenv/chrootenv/meson.build @@ -0,0 +1,5 @@ +project('chrootenv', 'c') + +glib = dependency('glib-2.0') + +executable('chrootenv', 'chrootenv.c', dependencies: [glib], install: true) diff --git a/pkgs/build-support/build-fhs-userenv/default.nix b/pkgs/build-support/build-fhs-userenv/default.nix index 2bad200efc4d..707b256cd4b4 100644 --- a/pkgs/build-support/build-fhs-userenv/default.nix +++ b/pkgs/build-support/build-fhs-userenv/default.nix @@ -28,7 +28,7 @@ in runCommand name { passthru = passthru // { env = runCommand "${name}-shell-env" { shellHook = '' - exec ${chrootenv} ${init runScript} "$(pwd)" + exec ${chrootenv}/bin/chrootenv ${init runScript} "$(pwd)" ''; } '' echo >&2 "" @@ -41,7 +41,7 @@ in runCommand name { mkdir -p $out/bin cat <$out/bin/${name} #! ${stdenv.shell} - exec ${chrootenv} ${init runScript} "\$(pwd)" "\$@" + exec ${chrootenv}/bin/chrootenv ${init runScript} "\$(pwd)" "\$@" EOF chmod +x $out/bin/${name} ${extraInstallCommands}