Browse Source

Update Genode sources to latest master

elf-fixup
Emery Hemingway 1 year ago
parent
commit
1168611109
  1. 17
      flake.lock
  2. 9
      flake.nix
  3. 9
      overlay/default.nix
  4. 31
      packages/genodelabs/cached_fs_rom.patch
  5. 17
      packages/genodelabs/default.nix
  6. 94
      packages/genodelabs/port-versions.nix
  7. 2
      packages/genodelabs/ports.nix
  8. 4
      packages/genodelabs/targets.nix

17
flake.lock

@ -1,5 +1,21 @@
{
"nodes": {
"genode": {
"flake": false,
"locked": {
"lastModified": 1602243357,
"narHash": "sha256-1Q3D8W8xujTW38CxhXvQIFfxeKuLvBoCzmROiMPxVKA=",
"owner": "genodelabs",
"repo": "genode",
"rev": "91f82816189c1aad5d03168cc86c4b4946787b5c",
"type": "github"
},
"original": {
"owner": "genodelabs",
"repo": "genode",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1602590008,
@ -18,6 +34,7 @@
},
"root": {
"inputs": {
"genode": "genode",
"nixpkgs": "nixpkgs"
}
}

9
flake.nix

@ -1,9 +1,14 @@
{
description = "Genode packages";
inputs.genode = {
url = "github:genodelabs/genode";
flake = false;
};
inputs.nixpkgs.url = "github:NixOS/nixpkgs/release-20.09";
outputs = { self, nixpkgs }:
outputs = { self, genode, nixpkgs }:
let
localSystems = [ "x86_64-linux" ];
crossSystems = [ "aarch64-genode" "x86_64-genode" ];
@ -53,7 +58,7 @@
overlay =
# Overlay of fixes applied to Nixpkgs
import ./overlay;
import ./overlay genode;
lib =
# Local utilities merged with the Nixpkgs lib

9
overlay/default.nix

@ -1,6 +1,9 @@
final: prev:
upstreamSources: final: prev:
with prev;
let
overrideHost = drv: attrs:
if hostPlatform.isGenode then drv.override attrs else drv;
overrideHostAttrs = drv: f:
if hostPlatform.isGenode then drv.overrideAttrs f else drv;
@ -61,7 +64,9 @@ in {
genodePackages = import ../packages { nixpkgs = final; };
genodeSources = buildPackages.callPackage ../packages/genodelabs { };
genodeSources = buildPackages.callPackage ../packages/genodelabs {
inherit upstreamSources;
};
libcCrossChooser = name:
if stdenv.targetPlatform.isGenode then

31
packages/genodelabs/cached_fs_rom.patch

@ -1,31 +0,0 @@
commit 72032b25e153fe736b07670d4cf5d49a77e606db
Author: Emery Hemingway <ehmry@posteo.net>
Date: Fri May 29 17:39:05 2020 +0530
cached_fs_rom: diagnosis of delivered ROM sessions
To enable logging of ROM session deliveries, set the "diag" on
session routes:
<route>
<service name="ROM" label_prefix="/bin/">
<child name="cached_fs_rom" diag="yes"/>
</service>
<route>
Fix #3772
diff --git a/repos/os/src/server/cached_fs_rom/main.cc b/repos/os/src/server/cached_fs_rom/main.cc
index 392ff8aecb..9e4e4d0eee 100755
--- a/repos/os/src/server/cached_fs_rom/main.cc
+++ b/repos/os/src/server/cached_fs_rom/main.cc
@@ -394,6 +394,8 @@ struct Cached_fs_rom::Main final : Genode::Session_request_handler
/* Create new RPC object */
Session_component *session = new (heap)
Session_component(*rom, sessions, id, label);
+ if (session_diag_from_args(args.string()).enabled)
+ log("deliver ROM \"", label, "\"");
env.parent().deliver_session_cap(pid, env.ep().manage(*session));
} else if (!rom->transfer) {

17
packages/genodelabs/default.nix

@ -1,9 +1,6 @@
{ buildPackages, targetPackages }:
{ upstreamSources, buildPackages, targetPackages }:
let
version = "20.08";
# Update ./port-versions.nix bumping the version and updateing the sources.
platform = targetPackages.targetPlatform;
arch = with platform;
@ -19,7 +16,6 @@ let
genodeSources =
# The Genode source repository
let
toolPrefix = if platform.isx86 then
"genode-x86-"
else if platform.isAarch64 then
@ -29,11 +25,8 @@ let
in with buildPackages;
stdenvNoCC.mkDerivation {
pname = "genode-sources";
inherit version;
src = fetchurl {
url = "https://github.com/genodelabs/genode/archive/${version}.tar.gz";
hash = "sha256-tFuLVuaN5F9lAEtn0lpd0MgPQpOcFixOtOsQ/z4TwPI=";
};
version = upstreamSources.lastModifiedDate;
src = upstreamSources;
nativeBuildInputs = [ expect gnumake tcl ];
patches = [ ./LIB.patch ./binary-labels.patch ];
configurePhase = ''
@ -56,6 +49,8 @@ let
installPhase = "cp -a . $out";
};
portVersions = import "${genodeSources}/ports.nix";
preparePort =
# Prepare a "port" of source code declared in the Genode sources
name:
@ -63,7 +58,7 @@ let
, patches ? [ ], ... }@args:
let
havePatches = patches != [ ];
version = (import ./port-versions.nix).${name};
version = portVersions.${name};
in with buildPackages;
stdenvNoCC.mkDerivation (args // {
name = name + "-port-" + version;

94
packages/genodelabs/port-versions.nix

@ -1,94 +0,0 @@
# The file is generated by the "genodeSources" derivation.
{
acpica = "5c1c54";
ada-runtime = "fabce1";
bash = "02edac";
bbl = "b9358c";
binutils = "62d309";
bzip2 = "f755da";
ccid = "7a9fb9";
coreutils = "0c59a9";
curl = "782b9a";
dde_bsd = "823dbe";
dde_ipxe = "b68f4e";
dde_linux = "173719";
dde_rump = "9afe56";
diffutils = "ee502a";
drm = "01858a";
e2fsprogs = "2a09cd";
e2fsprogs-lib = "9b9fa0";
egl_api = "783c19";
expat = "eff6ef";
fatfs = "973b91";
ffi = "f406cb";
fiasco = "386db7";
findutils = "6707e8";
foc = "ce2d3e";
freetype = "35b677";
fribidi = "389935";
gcc = "20345a";
gcov = "a6f852";
gdb = "8eddf0";
gmp = "855680";
gnupg = "c784d4";
grep = "b96a88";
grub2 = "856f99";
icu = "62f13b";
jbig2dec = "682269";
jitterentropy = "6017e1";
jpeg = "5effdd";
less = "e7a42c";
libarchive = "7ce310";
libc = "771dcc";
libdrm = "c1cce0";
libgcrypt = "37159a";
libiconv = "3f5ca3";
libpng = "ac05f3";
libsparkcrypto = "924de3";
libssh = "a475cc";
libusb = "633358";
libyaml = "1cde80";
lighttpd = "0665ee";
lua = "db8c61";
lwip = "6e0661";
lz4 = "d99c3d";
make = "c8beff";
mesa = "6835d6";
microcode_intel = "027883";
mpc = "989fb4";
mpfr = "923771";
muen = "6ee775";
mupdf = "5b4925";
ncurses = "7873b9";
netperf = "7b5692";
nova = "e1ea2d";
okl4 = "cbf5e3";
openjpeg = "721d10";
openssl = "82ec04";
pcg-c = "721366";
pcre = "11003e";
pcsc-lite = "405b75";
pistachio = "68c8c3";
qemu-usb = "2ff18f";
qoost = "014d68";
qt5 = "1b1c56";
qt5-host = "21e078";
readline = "a0bfb0";
sanitizer = "3ac05b";
sed = "459979";
sel4 = "793548";
sel4_tools = "4ee1b9";
seoul = "e8d696";
stb = "ab8f50";
stdcxx = "722e94";
tar = "19aea4";
tcl = "842b1a";
ttf-bitstream-vera = "cd3684";
uboot = "f3fd6b";
vim = "53caaa";
virtualbox5 = "e60d97";
which = "91c953";
x86emu = "8a1c3a";
xz = "45203f";
zlib = "f7aef1";
}

2
packages/genodelabs/ports.nix

@ -26,7 +26,7 @@ with buildPackages; {
jitterentropy.hash = "sha256-6KS732GxtUMz0xPYKtshdn039DgdJq11vTDQesZn4Ds=";
jpeg.hash = "sha256-RLVnlrnYGrhqr3Feikoi/BNditCaKN0u3t9/UDpl2wQ=";
libc = {
hash = "sha256-bD0Kqho7ABMHxFYOAkQlvJgzSIsomy5OTtpKE+JAVUY=";
hash = "sha256-BSZcO25jbH8+OkJWGyJxxVYuQ4Y3yDt0DNsYcITwqxA=";
nativeBuildInputs = [ buildPackages.gcc ];
};
libiconv.hash = "sha256-25YcW5zo1fE33ZolGQroR+KZO8wHEdN1QXa7+MhwS78=";

4
packages/genodelabs/targets.nix

@ -15,6 +15,8 @@ let
};
in {
cached_fs_rom = { };
fb_sdl = with buildPackages; {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ SDL ];
@ -77,7 +79,7 @@ in {
vesa_drv.portInputs = [ libc x86emu ];
vfs.outputs = [ "out" "lib" ];
vfs_block = { };
vfs_import.patches = [ ./vfs_import.patch ];
vfs_jitterentropy.portInputs = [ jitterentropy libc ];
vfs_lwip.portInputs = [ lwip ];

Loading…
Cancel
Save