diff --git a/packages/default.nix b/packages/default.nix index 3adca18..a1603c1 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -67,20 +67,22 @@ in rec { init = genodeSources.make "init"; - ssh_client = buildWorld { - name = "ssh_client"; - targets = [ "app/ssh_client" ]; - portInputs = with genodeSources.ports; [ libc libssh openssl zlib ]; - }; - bender = buildPackages.callPackage ./bender { }; block_router = callPackage ./block_router { }; dhallGenode = dhallPackages.genode; + nic_bus = callPackage ./nic_bus { }; + NOVA = callPackage ./NOVA { }; + ssh_client = buildWorld { + name = "ssh_client"; + targets = [ "app/ssh_client" ]; + portInputs = with genodeSources.ports; [ libc libssh openssl zlib ]; + }; + solo5 = let drv = callPackage ./solo5 { }; in drv // { tests = drv.tests // { pname = "solo5-tests"; }; }; diff --git a/packages/nic_bus/default.nix b/packages/nic_bus/default.nix new file mode 100644 index 0000000..3f713a9 --- /dev/null +++ b/packages/nic_bus/default.nix @@ -0,0 +1,56 @@ +# SPDX-License-Identifier: CC0-1.0 + +{ stdenv, fetchgit, tup }: + +let + tupArch = with stdenv.targetPlatform; + if isAarch32 then + "arm" + else if isAarch64 then + "arm64" + else if isx86_32 then + "i386" + else if isx86_64 then + "x86_64" + else + abort "unhandled targetPlatform"; + + toTupConfig = attrs: + with builtins; + let op = config: name: "${config}CONFIG_${name}=${attrs.${name}} "; + in foldl' op "" (attrNames attrs); + +in stdenv.mkDerivation rec { + pname = "nic_bus"; + version = "2.0"; + + src = fetchgit { + url = "https://git.sr.ht/~ehmry/nic_bus"; + rev = "v" + version; + sha256 = "DrgZHkUEjkHmSfOqSetGqU/nLl8OqNM0zaJjOout5VY="; + }; + + nativeBuildInputs = [ tup ]; + + configurePhase = '' + # Scan repository and generate script + tup init + tup generate buildPhase.sh + ''; + + buildPhase = '' + pushd . + set -v + source buildPhase.sh + set +v + popd + ''; + + installPhase = "install -Dm755 {.,$out}/${pname}"; + + meta = with stdenv.lib; { + license = licenses.agpl3; + maintainers = [ maintainers.ehmry ]; + }; + +}