Merge pull request #140200 from CajuM/waydroid

authored by Sandro and committed by GitHub ceb36367 c82adc4b

+195
+45
pkgs/development/libraries/libgbinder/default.nix
··· 1 + { stdenv, lib, fetchFromGitHub, pkg-config, glib, libglibutil }: 2 + 3 + stdenv.mkDerivation rec { 4 + pname = "libgbinder"; 5 + version = "1.1.12"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "mer-hybris"; 9 + repo = pname; 10 + rev = version; 11 + sha256 = "03p5ala9lnfcizh7832ax5phdvfzrdxw6acw8zib8wj0s133wyhb"; 12 + }; 13 + 14 + outputs = [ "out" "dev" ]; 15 + 16 + nativeBuildInputs = [ 17 + pkg-config 18 + ]; 19 + 20 + buildInputs = [ 21 + glib 22 + libglibutil 23 + ]; 24 + 25 + makeFlags = [ 26 + "LIBDIR=$(out)/lib" 27 + "INSTALL_INCLUDE_DIR=$(dev)/include/gbinder" 28 + "INSTALL_PKGCONFIG_DIR=$(dev)/lib/pkgconfig" 29 + ]; 30 + 31 + installTargets = [ "install" "install-dev" ]; 32 + 33 + postInstall = '' 34 + sed -i -e "s@includedir=/usr@includedir=$dev@g" $dev/lib/pkgconfig/$pname.pc 35 + sed -i -e "s@Cflags: @Cflags: $($PKG_CONFIG --cflags libglibutil) @g" $dev/lib/pkgconfig/$pname.pc 36 + ''; 37 + 38 + meta = with lib; { 39 + description = "GLib-style interface to binder"; 40 + homepage = "https://github.com/mer-hybris/libgbinder"; 41 + license = licenses.bsd3; 42 + platforms = platforms.linux; 43 + maintainers = with maintainers; [ mcaju ]; 44 + }; 45 + }
+45
pkgs/development/libraries/libglibutil/default.nix
··· 1 + { stdenv, lib, fetchFromGitLab, pkg-config, glib }: 2 + 3 + stdenv.mkDerivation rec { 4 + pname = "libglibutil"; 5 + version = "1.0.55"; 6 + 7 + src = fetchFromGitLab { 8 + domain = "git.sailfishos.org"; 9 + owner = "mer-core"; 10 + repo = pname; 11 + rev = version; 12 + sha256 = "0zrxccpyfz4jf14zr6fj9b88p340s66lw5cnqkapfa72kl1rnp4q"; 13 + }; 14 + 15 + outputs = [ "out" "dev" ]; 16 + 17 + nativeBuildInputs = [ 18 + pkg-config 19 + ]; 20 + 21 + buildInputs = [ 22 + glib 23 + ]; 24 + 25 + makeFlags = [ 26 + "LIBDIR=$(out)/lib" 27 + "INSTALL_INCLUDE_DIR=$(dev)/include/gutil" 28 + "INSTALL_PKGCONFIG_DIR=$(dev)/lib/pkgconfig" 29 + ]; 30 + 31 + installTargets = [ "install" "install-dev" ]; 32 + 33 + postInstall = '' 34 + sed -i -e "s@includedir=/usr@includedir=$dev@g" $dev/lib/pkgconfig/$pname.pc 35 + sed -i -e "s@Cflags: @Cflags: $($PKG_CONFIG --cflags glib-2.0) @g" $dev/lib/pkgconfig/$pname.pc 36 + ''; 37 + 38 + meta = with lib; { 39 + description = "Library of glib utilities."; 40 + homepage = "https://git.sailfishos.org/mer-core/libglibutil"; 41 + license = licenses.bsd3; 42 + platforms = platforms.linux; 43 + maintainers = with maintainers; [ mcaju ]; 44 + }; 45 + }
+39
pkgs/development/python-modules/gbinder-python/default.nix
··· 1 + { stdenv 2 + , lib 3 + , fetchFromGitHub 4 + , buildPythonPackage 5 + , cython 6 + , pkg-config 7 + , libgbinder 8 + }: 9 + 10 + buildPythonPackage rec { 11 + pname = "gbinder-python"; 12 + version = "1.0.0"; 13 + 14 + src = fetchFromGitHub { 15 + owner = "erfanoabdi"; 16 + repo = pname; 17 + rev = version; 18 + sha256 = "0jgblzakjgsy0cj93bmh5gr7qnl2xgsrm0wzc6xjvzry9lrbs360"; 19 + }; 20 + 21 + buildInputs = [ 22 + libgbinder 23 + ]; 24 + 25 + nativeBuildInputs = [ 26 + cython 27 + pkg-config 28 + ]; 29 + 30 + setupPyGlobalFlags = [ "--cython" ]; 31 + 32 + meta = with lib; { 33 + description = "Python bindings for libgbinder"; 34 + homepage = "https://github.com/erfanoabdi/gbinder-python"; 35 + license = licenses.gpl3; 36 + maintainers = with maintainers; [ mcaju ]; 37 + platforms = platforms.linux; 38 + }; 39 + }
+58
pkgs/os-specific/linux/waydroid/default.nix
··· 1 + { stdenv 2 + , lib 3 + , fetchFromGitHub 4 + , python3Packages 5 + , dnsmasq 6 + , lxc 7 + , nftables 8 + , python 9 + }: 10 + 11 + python3Packages.buildPythonApplication rec { 12 + pname = "waydroid"; 13 + version = "1.1.1"; 14 + 15 + src = fetchFromGitHub { 16 + owner = pname; 17 + repo = pname; 18 + rev = version; 19 + sha256 = "0cabh7rysh2v15wrxg250370mw26s5d073yxmczxsarbp4ri2pl4"; 20 + }; 21 + 22 + propagatedBuildInputs = with python3Packages; [ 23 + gbinder-python 24 + pygobject3 25 + ]; 26 + 27 + dontUseSetuptoolsBuild = true; 28 + dontUsePipInstall = true; 29 + dontUseSetuptoolsCheck = true; 30 + dontWrapPythonPrograms = true; 31 + 32 + installPhase = '' 33 + mkdir -p $out/${python3Packages.python.sitePackages} 34 + 35 + cp -ra tools $out/${python3Packages.python.sitePackages}/tools 36 + 37 + cp -ra data $out/${python3Packages.python.sitePackages}/data 38 + wrapProgram $out/${python3Packages.python.sitePackages}/data/scripts/waydroid-net.sh \ 39 + --prefix PATH ":" ${lib.makeBinPath [ dnsmasq nftables ]} 40 + 41 + mkdir -p $out/share/waydroid/gbinder.d 42 + cp gbinder/anbox.conf $out/share/waydroid/gbinder.d/anbox.conf 43 + 44 + mkdir $out/bin 45 + cp -a waydroid.py $out/${python3Packages.python.sitePackages}/waydroid.py 46 + ln -s $out/${python3Packages.python.sitePackages}/waydroid.py $out/bin/waydroid 47 + 48 + wrapPythonProgramsIn $out/${python3Packages.python.sitePackages} "$out ${python3Packages.gbinder-python} ${python3Packages.pygobject3} ${lxc}" 49 + ''; 50 + 51 + meta = with lib; { 52 + description = "Waydroid is a container-based approach to boot a full Android system on a regular GNU/Linux system like Ubuntu."; 53 + homepage = "https://github.com/waydroid/waydroid"; 54 + license = licenses.gpl3; 55 + platforms = platforms.linux; 56 + maintainers = with maintainers; [ mcaju ]; 57 + }; 58 + }
+6
pkgs/top-level/all-packages.nix
··· 1828 1828 inherit (darwin.apple_sdk.frameworks) Carbon; 1829 1829 }; 1830 1830 1831 + waydroid = callPackage ../os-specific/linux/waydroid { }; 1832 + 1831 1833 wiiload = callPackage ../development/tools/wiiload { }; 1832 1834 1833 1835 wiimms-iso-tools = callPackage ../tools/filesystems/wiimms-iso-tools { }; ··· 17073 17075 17074 17076 libgadu = callPackage ../development/libraries/libgadu { }; 17075 17077 17078 + libgbinder = callPackage ../development/libraries/libgbinder { }; 17079 + 17076 17080 libgda = callPackage ../development/libraries/libgda { }; 17077 17081 17078 17082 libgda6 = callPackage ../development/libraries/libgda/6.x.nix { }; ··· 17086 17090 libgepub = callPackage ../development/libraries/libgepub { }; 17087 17091 17088 17092 libgig = callPackage ../development/libraries/libgig { }; 17093 + 17094 + libglibutil = callPackage ../development/libraries/libglibutil { }; 17089 17095 17090 17096 libgnome-keyring = callPackage ../development/libraries/libgnome-keyring { }; 17091 17097 libgnome-keyring3 = gnome.libgnome-keyring;
+2
pkgs/top-level/python-packages.nix
··· 2892 2892 2893 2893 garages-amsterdam = callPackage ../development/python-modules/garages-amsterdam { }; 2894 2894 2895 + gbinder-python = callPackage ../development/python-modules/gbinder-python { }; 2896 + 2895 2897 gcovr = callPackage ../development/python-modules/gcovr { }; 2896 2898 2897 2899 gcsfs = callPackage ../development/python-modules/gcsfs { };