diff --git a/pkgs/os-specific/linux/waydroid/default.nix b/pkgs/os-specific/linux/waydroid/default.nix new file mode 100644 index 000000000000..708237e5184c --- /dev/null +++ b/pkgs/os-specific/linux/waydroid/default.nix @@ -0,0 +1,58 @@ +{ stdenv +, lib +, fetchFromGitHub +, python3Packages +, dnsmasq +, lxc +, nftables +, python +}: + +python3Packages.buildPythonApplication rec { + pname = "waydroid"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = version; + sha256 = "0cabh7rysh2v15wrxg250370mw26s5d073yxmczxsarbp4ri2pl4"; + }; + + propagatedBuildInputs = with python3Packages; [ + gbinder-python + pygobject3 + ]; + + dontUseSetuptoolsBuild = true; + dontUsePipInstall = true; + dontUseSetuptoolsCheck = true; + dontWrapPythonPrograms = true; + + installPhase = '' + mkdir -p $out/${python3Packages.python.sitePackages} + + cp -ra tools $out/${python3Packages.python.sitePackages}/tools + + cp -ra data $out/${python3Packages.python.sitePackages}/data + wrapProgram $out/${python3Packages.python.sitePackages}/data/scripts/waydroid-net.sh \ + --prefix PATH ":" ${lib.makeBinPath [ dnsmasq nftables ]} + + mkdir -p $out/share/waydroid/gbinder.d + cp gbinder/anbox.conf $out/share/waydroid/gbinder.d/anbox.conf + + mkdir $out/bin + cp -a waydroid.py $out/${python3Packages.python.sitePackages}/waydroid.py + ln -s $out/${python3Packages.python.sitePackages}/waydroid.py $out/bin/waydroid + + wrapPythonProgramsIn $out/${python3Packages.python.sitePackages} "$out ${python3Packages.gbinder-python} ${python3Packages.pygobject3} ${lxc}" + ''; + + meta = with lib; { + description = "Waydroid is a container-based approach to boot a full Android system on a regular GNU/Linux system like Ubuntu."; + homepage = "https://github.com/waydroid/waydroid"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ mcaju ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6bbc3adfba4c..b0cda1f625d3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1828,6 +1828,8 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Carbon; }; + waydroid = callPackage ../os-specific/linux/waydroid { }; + wiiload = callPackage ../development/tools/wiiload { }; wiimms-iso-tools = callPackage ../tools/filesystems/wiimms-iso-tools { };