sigil/packages/default.nix

68 lines
2.0 KiB
Nix
Raw Normal View History

2019-09-27 12:38:35 +02:00
# SPDX-FileCopyrightText: Emery Hemingway
#
# SPDX-License-Identifier: LicenseRef-Hippocratic-1.1
{ system, nixpkgs, 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
legacyPackages = builtins.getAttr system nixpkgs.legacyPackages;
2019-07-30 12:48:01 +02:00
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 { });
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
'';
2019-11-05 17:38:47 +01:00
in rec {
2020-01-16 17:19:42 +01:00
inherit (legacyPackages) stdenv;
2020-01-16 17:19:42 +01:00
bender = legacyPackages.buildPackages.callPackage ./bender { };
2019-11-05 17:38:47 +01:00
dhallGenode = dhallPackages.genode;
2019-11-05 17:38:47 +01:00
dhallPrelude = dhallPackages.prelude;
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 17:19:42 +01:00
nic_bus = callPackage ./nic_bus { inherit (genode) base os; };
2020-01-16 17:19:42 +01:00
solo5 = callPackage ./solo5 { inherit (genode) base os; };
2020-01-16 17:19:42 +01:00
stdcxx = callPackage ./stdcxx { };
}