acr-cli: init at 0.14 (#359508)
[NixPkgs.git] / pkgs / by-name / re / renode / package.nix
blob98c88f8d111ceffb2ba120e923c1d41984980cc2
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , fetchurl
5 , autoPatchelfHook
6 , makeWrapper
7 , nix-update-script
8 , glibcLocales
9 , python3Packages
10 , dotnetCorePackages
11 , gtk-sharp-3_0
12 , gtk3-x11
13 , dconf
16 let
17   pythonLibs = with python3Packages; makePythonPath [
18     construct
19     psutil
20     pyyaml
21     requests
22     tkinter
24     # from tools/csv2resd/requirements.txt
25     construct
27     # from tools/execution_tracer/requirements.txt
28     pyelftools
30     (robotframework.overrideDerivation (oldAttrs: {
31       src = fetchFromGitHub {
32         owner = "robotframework";
33         repo = "robotframework";
34         rev = "v6.1";
35         hash = "sha256-l1VupBKi52UWqJMisT2CVnXph3fGxB63mBVvYdM1NWE=";
36       };
37     }))
38   ];
40 stdenv.mkDerivation (finalAttrs: {
41   pname = "renode";
42   version = "1.15.3";
44   src = fetchurl {
45     url = "https://github.com/renode/renode/releases/download/v${finalAttrs.version}/renode-${finalAttrs.version}.linux-dotnet.tar.gz";
46     hash = "sha256-0CZWIwIG85nT7uSHhmBkH21S5mTx2womYWV0HG+g8Mk=";
47   };
49   nativeBuildInputs = [
50     autoPatchelfHook
51     makeWrapper
52   ];
54   propagatedBuildInputs = [
55     gtk-sharp-3_0
56   ];
58   strictDeps = true;
60   installPhase = ''
61     runHook preInstall
63     mkdir -p $out/{bin,libexec/renode}
65     mv * $out/libexec/renode
66     mv .renode-root $out/libexec/renode
68     makeWrapper "$out/libexec/renode/renode" "$out/bin/renode" \
69       --prefix PATH : "$out/libexec/renode:${lib.makeBinPath [ dotnetCorePackages.runtime_8_0 ]}" \
70       --prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules" \
71       --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk3-x11 ]}" \
72       --prefix PYTHONPATH : "${pythonLibs}" \
73       --set LOCALE_ARCHIVE "${glibcLocales}/lib/locale/locale-archive"
74     makeWrapper "$out/libexec/renode/renode-test" "$out/bin/renode-test" \
75       --prefix PATH : "$out/libexec/renode:${lib.makeBinPath [ dotnetCorePackages.runtime_8_0 ]}" \
76       --prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules" \
77       --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk3-x11 ]}" \
78       --prefix PYTHONPATH : "${pythonLibs}" \
79       --set LOCALE_ARCHIVE "${glibcLocales}/lib/locale/locale-archive"
81     substituteInPlace "$out/libexec/renode/renode-test" \
82       --replace '$PYTHON_RUNNER' '${python3Packages.python}/bin/python3'
84     runHook postInstall
85   '';
87   passthru.updateScript = nix-update-script { };
89   meta = {
90     description = "Virtual development framework for complex embedded systems";
91     homepage = "https://renode.io";
92     license = lib.licenses.bsd3;
93     maintainers = with lib.maintainers; [ otavio ];
94     platforms = [ "x86_64-linux" ];
95   };