python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / misc / debootstrap / default.nix
blob9465d412b0465e9e0d4cfa70d0fad81965c259bc
1 { lib, stdenv, fetchFromGitLab, dpkg, gawk, perl, wget, coreutils, util-linux
2 , gnugrep, gnupg1, gnutar, gnused, gzip, makeWrapper }:
3 # USAGE like this: debootstrap sid /tmp/target-chroot-directory
4 # There is also cdebootstrap now. Is that easier to maintain?
5 let binPath = lib.makeBinPath [
6     coreutils
7     dpkg
8     gawk
9     gnugrep
10     gnupg1
11     gnused
12     gnutar
13     gzip
14     perl
15     wget
16   ];
17 in stdenv.mkDerivation rec {
18   pname = "debootstrap";
19   version = "1.0.128";
21   src = fetchFromGitLab {
22     domain = "salsa.debian.org";
23     owner = "installer-team";
24     repo = pname;
25     rev = version;
26     sha256 = "sha256-WybWWyRPreokjUAdWfZ2MUjgZhF1GTncpbLajQ3rh0E=";
27   };
29   nativeBuildInputs = [ makeWrapper ];
31   dontBuild = true;
33   installPhase = ''
34     runHook preInstall
36     substituteInPlace debootstrap \
37       --replace 'CHROOT_CMD="chroot '  'CHROOT_CMD="${coreutils}/bin/chroot ' \
38       --replace 'CHROOT_CMD="unshare ' 'CHROOT_CMD="${util-linux}/bin/unshare ' \
39       --replace /usr/bin/dpkg ${dpkg}/bin/dpkg \
40       --replace '#!/bin/sh' '#!/bin/bash' \
41       --subst-var-by VERSION ${version}
43     d=$out/share/debootstrap
44     mkdir -p $out/{share/debootstrap,bin}
46     mv debootstrap $out/bin
48     cp -r . $d
50     wrapProgram $out/bin/debootstrap \
51       --set PATH ${binPath} \
52       --set-default DEBOOTSTRAP_DIR $d
54     mkdir -p $out/man/man8
55     mv debootstrap.8 $out/man/man8
57     rm -rf $d/debian
59     runHook postInstall
60   '';
62   meta = with lib; {
63     description = "Tool to create a Debian system in a chroot";
64     homepage = "https://wiki.debian.org/Debootstrap";
65     license = licenses.mit;
66     maintainers = with maintainers; [ marcweber ];
67     platforms = platforms.linux;
68   };