2020-01-16 17:38:23 +01:00
|
|
|
# SPDX-License-Identifier: CC0-1.0
|
2019-09-27 12:38:35 +02:00
|
|
|
|
2020-01-16 17:38:23 +01:00
|
|
|
{ system, legacyPackages, depot, dhallApps }:
|
2019-07-30 12:48:01 +02:00
|
|
|
|
2019-11-05 17:38:47 +01:00
|
|
|
let
|
2020-01-16 17:19:42 +01:00
|
|
|
inherit (legacyPackages) callPackage;
|
2019-11-05 17:38:47 +01:00
|
|
|
|
2020-01-16 17:19:42 +01:00
|
|
|
dhallPackages = legacyPackages.dhallPackages // (callPackage ./dhall { });
|
2020-01-15 19:28:18 +01:00
|
|
|
|
2020-01-16 18:43:24 +01:00
|
|
|
mkDhallManifest = drv:
|
|
|
|
legacyPackages.runCommand "${drv.name}.dhall" {
|
|
|
|
inherit drv;
|
|
|
|
dhall = dhallApps.dhall.program;
|
|
|
|
} ''
|
|
|
|
echo '{' >> manifest.tmp
|
|
|
|
if [ -d $drv/bin ]; then
|
|
|
|
echo ', bin = {' >> manifest.tmp
|
|
|
|
find $drv/bin/ -type f -printf '%f "%p"\n' \
|
|
|
|
| awk '{print ", "gensub(/\..*/, "", 1, $1)" = { mapKey = \""$1"\", mapValue = "$2" }" }'>> manifest.tmp
|
|
|
|
echo '}' >> manifest.tmp
|
|
|
|
fi
|
|
|
|
if [ -d $drv/lib ]; then
|
|
|
|
echo ', lib = {' >> manifest.tmp
|
|
|
|
find $drv/lib/ -type f -name '*.lib.so' -printf '%f "%p"\n' \
|
|
|
|
| awk '{print ", "gensub(/\..*/, "", 1, $1)" = { mapKey = \""$1"\", mapValue = "$2" }" }'>> manifest.tmp
|
|
|
|
echo '}' >> manifest.tmp
|
|
|
|
fi
|
|
|
|
if [ -d $drv/tar ]; then
|
|
|
|
echo ', tar = {' >> manifest.tmp
|
|
|
|
find $drv/tar/ -type f -name '*.tar' -printf '%f "%p"\n' \
|
|
|
|
| awk '{print ""gensub(/\..*/, "", 1, $1)" = { mapKey = \""$1"\", mapValue = "$2" }" }'>> manifest.tmp
|
|
|
|
echo '}' >> manifest.tmp
|
|
|
|
fi
|
|
|
|
echo '}' >> manifest.tmp
|
|
|
|
$dhall < manifest.tmp > $out
|
|
|
|
'';
|
2020-01-15 19:28:18 +01:00
|
|
|
|
2020-01-16 17:38:23 +01:00
|
|
|
addManifest = drv: { manifest = mkDhallManifest drv; } // drv;
|
|
|
|
|
2019-11-05 17:38:47 +01:00
|
|
|
in rec {
|
2020-01-16 18:43:24 +01:00
|
|
|
|
2020-01-16 17:19:42 +01:00
|
|
|
inherit (legacyPackages) stdenv;
|
2020-01-16 18:43:24 +01:00
|
|
|
|
2020-01-16 17:19:42 +01:00
|
|
|
bender = legacyPackages.buildPackages.callPackage ./bender { };
|
2020-01-16 18:43:24 +01:00
|
|
|
|
2019-11-05 17:38:47 +01:00
|
|
|
dhallGenode = dhallPackages.genode;
|
2020-01-16 18:43:24 +01:00
|
|
|
|
2019-11-05 17:38:47 +01:00
|
|
|
dhallPrelude = dhallPackages.prelude;
|
2020-01-16 18:43:24 +01:00
|
|
|
|
|
|
|
genode = import ./genode {
|
|
|
|
nixpkgs = legacyPackages;
|
|
|
|
inherit mkDhallManifest;
|
|
|
|
};
|
|
|
|
|
|
|
|
NOVA = legacyPackages.callPackage ./NOVA { };
|
|
|
|
|
2020-01-16 17:19:42 +01:00
|
|
|
libc = callPackage ./libc { inherit depot; };
|
2020-01-16 18:43:24 +01:00
|
|
|
|
2020-01-16 17:19:42 +01:00
|
|
|
nic_bus = callPackage ./nic_bus { inherit (genode) base os; };
|
2020-01-16 18:43:24 +01:00
|
|
|
|
2020-01-16 17:38:23 +01:00
|
|
|
solo5 = let drv = callPackage ./solo5 { inherit (genode) base os; };
|
|
|
|
in addManifest drv // { tests = addManifest drv.tests; };
|
|
|
|
|
|
|
|
sotest-producer = addManifest (callPackage ./sotest-producer {
|
|
|
|
stdenv = genode.stdenvGcc;
|
|
|
|
inherit genode;
|
|
|
|
});
|
2020-01-16 18:43:24 +01:00
|
|
|
|
2020-01-16 17:19:42 +01:00
|
|
|
stdcxx = callPackage ./stdcxx { };
|
2020-01-16 18:43:24 +01:00
|
|
|
|
|
|
|
}
|