aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/misc/or1k/newlib.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/misc/or1k/newlib.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/misc/or1k/newlib.nix36
1 files changed, 36 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/misc/or1k/newlib.nix b/infra/libkookie/nixpkgs/pkgs/development/misc/or1k/newlib.nix
new file mode 100644
index 000000000000..92829896a27c
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/misc/or1k/newlib.nix
@@ -0,0 +1,36 @@
+{ stdenv, texinfo, flex, bison, fetchFromGitHub, crossLibcStdenv, buildPackages }:
+
+crossLibcStdenv.mkDerivation {
+ name = "newlib";
+ src = fetchFromGitHub {
+ owner = "openrisc";
+ repo = "newlib";
+ rev = "8ac94ca7bbe4ceddafe6583ee4766d3c15b18ac8";
+ sha256 = "0hzhijmry5slpp6x12pgng8v7jil3mn18ahrhnw431lqrs1cma0s";
+ };
+
+ depsBuildBuild = [ buildPackages.stdenv.cc ];
+
+ # newlib expects CC to build for build platform, not host platform
+ preConfigure = ''
+ export CC=cc
+ '';
+
+ configurePlatforms = [ "build" "target" ];
+ configureFlags = [
+ "--host=${stdenv.buildPlatform.config}"
+
+ "--disable-newlib-supplied-syscalls"
+ "--disable-nls"
+ "--enable-newlib-io-long-long"
+ "--enable-newlib-register-fini"
+ "--enable-newlib-retargetable-locking"
+ ];
+
+ dontDisableStatic = true;
+
+ passthru = {
+ incdir = "/${stdenv.targetPlatform.config}/include";
+ libdir = "/${stdenv.targetPlatform.config}/lib";
+ };
+}