From 4d96688e0b6a866844e936e92410c38be8601e88 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Tue, 12 Nov 2019 21:05:25 +0100 Subject: [PATCH] Add stdcxx package --- packages.nix | 1 + pkgs/stdcxx/default.nix | 26 ++++++++++++++++++++++++++ pkgs/stdcxx/stdcxx.pc | 5 +++++ 3 files changed, 32 insertions(+) create mode 100644 pkgs/stdcxx/default.nix create mode 100644 pkgs/stdcxx/stdcxx.pc diff --git a/packages.nix b/packages.nix index 3d2f6a5..ae7aee7 100644 --- a/packages.nix +++ b/packages.nix @@ -23,6 +23,7 @@ in rec { genode-base-nova = genode.base-nova; genode-os = genode.os; libc = callPackage ./pkgs/libc { inherit depot; }; + stdcxx = callPackage ./pkgs/stdcxx { inherit depot; }; dhallGenode = dhallPackages.genode; dhallPrelude = dhallPackages.prelude; diff --git a/pkgs/stdcxx/default.nix b/pkgs/stdcxx/default.nix new file mode 100644 index 0000000..937a647 --- /dev/null +++ b/pkgs/stdcxx/default.nix @@ -0,0 +1,26 @@ +# SPDX-FileCopyrightText: Emery Hemingway +# +# SPDX-License-Identifier: LicenseRef-Hippocratic-1.1 + +{ stdenvNoCC, llvmPackages }: + +let + stdenv = stdenvNoCC; + inherit (llvmPackages) libcxx; +in stdenv.mkDerivation rec { + pname = "stdcxx"; + inherit (libcxx) version meta; + + buildInputs = [ libcxx ]; + + dontUnpack = true; + dontConfigure = true; + dontBuild = true; + + installPhase = '' + cflags=$NIX_CXXSTDLIB_COMPILE \ + substituteAll ${./stdcxx.pc} ${pname}.pc + mkdir -p $out/lib/pkgconfig + install -Dm444 *.pc $out/lib/pkgconfig + ''; +} diff --git a/pkgs/stdcxx/stdcxx.pc b/pkgs/stdcxx/stdcxx.pc new file mode 100644 index 0000000..e2d0ca2 --- /dev/null +++ b/pkgs/stdcxx/stdcxx.pc @@ -0,0 +1,5 @@ +Name: stdcxx +Description: Genode Standard C++ library +Version: @version@ +Requires: libc libm +Cflags: @cflags@