python312Packages.coffea: skip failing tests (#375864)
[NixPkgs.git] / pkgs / applications / audio / midas / generic.nix
bloba17b97836236637966077a751b03832f39775d6f
2   stdenv,
3   fetchurl,
4   lib,
5   brand,
6   type,
7   version,
8   homepage,
9   url,
10   hash,
11   runCommand,
12   dpkg,
13   vmTools,
14   runtimeShell,
15   bubblewrap,
16   ...
18 let
19   debian =
20     let
21       debs = lib.flatten (import ./deps.nix { inherit fetchurl; });
22     in
23     runCommand "x32edit-debian" { nativeBuildInputs = [ dpkg ]; } (
24       lib.concatMapStringsSep "\n" (deb: ''
25         dpkg-deb -x ${deb} $out
26       '') debs
27     );
29 stdenv.mkDerivation rec {
30   pname = "${lib.toLower type}-edit";
31   inherit version;
33   src = fetchurl {
34     inherit url hash;
35   };
37   sourceRoot = ".";
38   dontBuild = true;
39   dontStrip = true;
41   installPhase = ''
42     mkdir -p $out/bin
43     cp ${type}-Edit $out/bin/.${pname}
45     cat >$out/bin/${pname} <<EOF
46     #!${runtimeShell} -eu
47     exec ${lib.getExe bubblewrap} \
48       --dev-bind / / \
49       --ro-bind "${debian}/lib" /lib \
50       --ro-bind "${debian}/lib64" /lib64 \
51       --tmpfs /usr \
52       --ro-bind "${debian}/usr/lib" /usr/lib \
53       $out/bin/.${pname}
54     EOF
55     chmod 755 $out/bin/${pname}
56   '';
58   passthru.deps =
59     let
60       distro = vmTools.debDistros.debian11x86_64;
61     in
62     vmTools.debClosureGenerator {
63       name = "x32edit-dependencies";
64       inherit (distro) urlPrefix;
65       packagesLists = [ distro.packagesList ];
66       packages = [
67         "libstdc++6"
68         "libcurl3-gnutls"
69         "libfreetype6"
70         "libasound2"
71         "libx11-6"
72         "libxext6"
73       ];
74     };
76   meta = with lib; {
77     inherit homepage;
78     description = "Editor for the ${brand} ${type} digital mixer";
79     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
80     license = licenses.unfree;
81     platforms = platforms.linux;
82     maintainers = [ maintainers.magnetophon ];
83   };