From 9db8632d4f9eb94cc407aac4259e194a6e8a6662 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 22 Apr 2025 11:59:53 +0200 Subject: [PATCH] feat: make it somewhat work with buildFHSEnv --- .envrc | 2 ++ .gitignore | 2 ++ README.md | 6 ++++++ flake.nix | 54 +++++++++++++++++++++++++++++------------------------- 4 files changed, 39 insertions(+), 25 deletions(-) create mode 100644 .envrc diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..fe075fe --- /dev/null +++ b/.envrc @@ -0,0 +1,2 @@ +watch_file flake.lock +use flake diff --git a/.gitignore b/.gitignore index b2be92b..471c0ff 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ +.direnv result +xml_converter diff --git a/README.md b/README.md index d6196cf..ec9725c 100644 --- a/README.md +++ b/README.md @@ -27,3 +27,9 @@ ldd ./burrito.x86_64 to solve this, as I understand it, I need to use `makeWrapper` in `nativeBuildInputs`, and then provide all packages in `pkgs.lib.makeBinPath (with pkgs; [ xorg.libX11 ])` burrito repo is now working on automated github workflows to create a CI system, so I can have a sneak peek at the build process when they will finish it, because now I can't find any clues from the repo inself. I don't know how godot projects works in this regard. + + +# Additional note + +Running `nix develop` (or having a direnv active) allows to run `burrito-gw2` directly, however it doesn't quite work because burrito invokes `./xml_converter`, a fix is to copy this to the current folder. + diff --git a/flake.nix b/flake.nix index e3c6cf6..feff067 100644 --- a/flake.nix +++ b/flake.nix @@ -9,42 +9,46 @@ let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; + src = pkgs.fetchzip { + url = "https://github.com/AsherGlick/Burrito/releases/download/burrito-1.0.0/burrito-1.0.0.zip"; + stripRoot = false; + sha256 = "10iz1w3vz1881i8h898v2ankhfhcsi439jh8b38z14jpfzbv2m6x"; + }; in { - packages.${system}.default = pkgs.stdenv.mkDerivation { + packages.${system}.default = pkgs.buildFHSUserEnv { name = "burrito-gw2"; - buildInputs = with pkgs; [ + targetPkgs = pkgs: with pkgs; [ + glibc + xorg.libXcursor + xorg.libX11 + xorg.libXinerama + xorg.libXext + xorg.libXrandr + xorg.libXrender + xorg.libXi + libGL + libudev-zero ]; - # will fetch github source code - # src = pkgs.fetchFromGitHub { - # owner = "AsherGlick"; - # repo = "Burrito"; - # # to find out rev view tags on github - # # also can check yourself with - # # https://github.com/AsherGlick/Burrito/archive/refs/tags/alpha-1.4.zip - # rev = "alpha-1.4"; - # # to find sha256 - # # nix-prefetch-url --unpack https://github.com/AsherGlick/Burrito/archive/refs/tags/alpha-1.4.zip --type sha256 - # sha256 = "164wjr7y339s67fk1b3kyz4jdx0j64qx77mkzz09wdizi7idphf3"; - # }; - src = pkgs.fetchzip { - url = "https://github.com/AsherGlick/Burrito/releases/download/alpha-1.4/Burrito_Linux.zip"; - # because zip don't have a root directory - stripRoot=false; - # nix-prefetch-url --unpack --type sha256 - sha256 = "0a9f8dby8b3pn36nz0plf2kyjijlr0f6zc7vb8ym044ivrq97ss9"; - }; + runScript = "${src}/burrito.x86_64"; # dummy # to see whats I'm getting - installPhase = '' - mkdir -p $out/bin - cp -r $src $out/bin - ''; + #installPhase = '' + # mkdir -p $out/bin + # cp -r $src $out/bin + # cp $src/burrito.x86_64 $out/bin/burrito-gw2 + # chmod +x $out/bin/burrito-gw2 + #''; }; + devShell.${system} = pkgs.mkShell { + buildInputs = [ + self.packages.${system}.default + ]; + }; }; }