aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/misc/or1k/newlib.nix
diff options
context:
space:
mode:
authorMx Kookie <kookie@spacekookie.de>2020-12-09 18:55:19 +0000
committerMx Kookie <kookie@spacekookie.de>2020-12-09 18:55:19 +0000
commit80d90d9b204f7c17912740f9f414fe5d59f293ba (patch)
tree5f2065a06e724270610760d59d01c6888b375a46 /infra/libkookie/nixpkgs/pkgs/development/misc/or1k/newlib.nix
parent3a31a84c7d3e589035ad08499206aac44a81f424 (diff)
parent83cbad92d73216bb0d9187c56cce0b91f9121d5a (diff)
Merge commit '83cbad92d73216bb0d9187c56cce0b91f9121d5a' into main
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";
+ };
+}