2
0
Fork 0
Browse Source

Prepare ports using x86_64-linux nixpkgs

elf-fixup
Emery Hemingway 2 years ago
parent
commit
839f66e2de
  1. 2
      flake.nix
  2. 14
      overlay/default.nix
  3. 5
      packages/default.nix
  4. 11
      packages/genodelabs/default.nix
  5. 14
      packages/genodelabs/ports.nix

2
flake.nix

@ -58,7 +58,7 @@
overlay =
# Overlay of fixes applied to Nixpkgs
import ./overlay genode;
import ./overlay { flake = self; };
lib =
# Local utilities merged with the Nixpkgs lib

14
overlay/default.nix

@ -1,5 +1,7 @@
upstreamSources: final: prev:
{ flake }:
final: prev:
with prev;
let
overrideHost = drv: attrs:
if hostPlatform.isGenode then drv.override attrs else drv;
@ -62,12 +64,14 @@ in {
genodeLibcCross = callPackage ./libc { };
genodePackages = import ../packages { nixpkgs = final; };
genodeSources = buildPackages.callPackage ../packages/genodelabs {
inherit upstreamSources;
genodePackages = import ../packages {
inherit flake;
nixpkgs = final;
};
genodeSources =
buildPackages.callPackage ../packages/genodelabs { inherit flake; };
libcCrossChooser = name:
if stdenv.targetPlatform.isGenode then
targetPackages.genodeLibcCross

5
packages/default.nix

@ -1,11 +1,12 @@
{ nixpkgs }:
{ flake, nixpkgs }:
let
inherit (nixpkgs)
buildPackages callPackage fetchFromGitHub fetchgit genodeSources stdenv;
inherit (genodeSources) buildUpstream;
dhallPackages = buildPackages.callPackage ./dhall { };
dhallPackages =
flake.inputs.nixpkgs.legacyPackages.x86_64-linux.callPackage ./dhall { };
buildDepotWorld = let
genodeWorld = fetchFromGitHub {

11
packages/genodelabs/default.nix

@ -1,4 +1,4 @@
{ upstreamSources, buildPackages, targetPackages }:
{ flake, buildPackages, targetPackages }:
let
platform = targetPackages.targetPlatform;
@ -13,6 +13,8 @@ let
inherit (buildPackages) callPackage fetchurl lib;
upstreamSources = flake.inputs.genode;
genodeSources =
# The Genode source repository
let
@ -113,8 +115,11 @@ let
dontFixup = true;
});
ports =
lib.mapAttrs preparePort (import ./ports.nix { inherit buildPackages; });
ports = lib.mapAttrs preparePort (import ./ports.nix {
pkgs = flake.inputs.nixpkgs.legacyPackages.x86_64-linux;
});
# The "ports" mechanism is hardly deterministic, so prepare with
# a pinned nixpkgs revision for a pinned platform.
toolchain = callPackage ./toolchain.nix { };

14
packages/genodelabs/ports.nix

@ -1,15 +1,17 @@
# This file specifies the output hashes of "Ports".
# Ports not listed here can still be prepared, but will result in a hash mismatch.
{ buildPackages }:
with buildPackages; {
{ pkgs }:
with pkgs;
{
binutils = {
hash = "sha256-5JpEsIAe3GOZVb8kTMlfhmzku+aGs4/BttMu4xLsnsI=";
hash = "sha256-ERzYT3TjbK3fzRVN1UE7RM6XiPPeMKzkeulKx5IQa2o=";
nativeBuildInputs = [ autoconf ];
};
dde_bsd.hash = "sha256-Z2piyoOrNmXyEEp+kX5w/q4JTylYdSOocUrFeqjz13A=";
dde_ipxe.hash = "sha256-NJ129+DkxFg1fFHJBABBFRRjqEVNSz6v2hEB80AuEM4=";
dde_linux.hash = "sha256-aUp90z8dtn48QNUqGe1b08RzbESFmCJl7ECZf+lr0rg=";
dde_linux.hash = "sha256-xHAgeKfArgMGKCGHi0762qkUcY97vbiAQYjM/ZRXCes=";
dde_rump = {
hash = "sha256-Wr5otGkWEa+5xImsFHQzwap5LckNEbyWA/7xbNcOreI=";
nativeBuildInputs = [ subversion ];
@ -17,7 +19,7 @@ with buildPackages; {
};
expat.hash = "sha256-KpeM2ySmf+Ojx1mAj9n8lfX7iHaa7w5MPPKZcn4GpTc=";
gcc = {
hash = "sha256-ZF9P6xOHvSDN6oq4SN5jOEBBMGgGh6fXyDOgYdXHG1g=";
hash = "sha256-1AKjUbh8X5ips8pg0twpBTtc2qCVXGrbifJ/cf3yRcE=";
nativeBuildInputs = [ autoconf264 autogen ];
patches = [ ./gcc-port.patch ];
};
@ -27,7 +29,7 @@ with buildPackages; {
jpeg.hash = "sha256-RLVnlrnYGrhqr3Feikoi/BNditCaKN0u3t9/UDpl2wQ=";
libc = {
hash = "sha256-BSZcO25jbH8+OkJWGyJxxVYuQ4Y3yDt0DNsYcITwqxA=";
nativeBuildInputs = [ buildPackages.gcc ];
nativeBuildInputs = [ gcc ];
};
libiconv.hash = "sha256-25YcW5zo1fE33ZolGQroR+KZO8wHEdN1QXa7+MhwS78=";
libpng.hash = "sha256-hNmSWN4gEk4UIjzkGD4j5qFooMCVXLwcBeOeFumvh+4=";

Loading…
Cancel
Save