From e42b5d93266be2459e07b3631f76e1247acfec48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Sat, 3 Nov 2018 19:33:58 +0100 Subject: [PATCH] anbox: init at 2019-03-07 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Luke Adams Co-authored-by: Volth Co-authored-by: Jörg Thalheim Co-authored-by: Edward Tjörnhammar Co-authored-by: Gabriel Ebner --- pkgs/os-specific/linux/anbox/default.nix | 127 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 129 insertions(+) create mode 100644 pkgs/os-specific/linux/anbox/default.nix diff --git a/pkgs/os-specific/linux/anbox/default.nix b/pkgs/os-specific/linux/anbox/default.nix new file mode 100644 index 000000000000..bd85b6620ba6 --- /dev/null +++ b/pkgs/os-specific/linux/anbox/default.nix @@ -0,0 +1,127 @@ +{ stdenv, lib, fetchFromGitHub, fetchurl +, cmake, pkgconfig, dbus, makeWrapper +, gtest +, boost +, libcap +, systemd +, mesa +, libGL +, libglvnd +, glib +, git +, SDL2 +, SDL2_image +, properties-cpp +, protobuf +, protobufc +, python +, lxc +}: + +stdenv.mkDerivation rec { + pname = "anbox"; + version = "2019-03-07"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "d521e282965462e82465045ab95d4ae1c4619685"; + sha256 = "1wfx4bsyxvrjl16dq5pqgial8rnnsnxzbak2ap0waddz847czxwz"; + }; + + buildInputs = [ + cmake pkgconfig dbus boost libcap gtest systemd mesa glib + SDL2 SDL2_image protobuf protobufc properties-cpp lxc python + makeWrapper libGL + ]; + + patchPhase = '' + patchShebangs scripts + + cat >cmake/FindGMock.cmake <<'EOF' + add_library(gtest INTERFACE) + target_include_directories(gtest INTERFACE ${gtest.dev}/include) + target_link_libraries(gtest INTERFACE ${gtest}/lib/libgtest.so ''${CMAKE_THREAD_LIBS_INIT}) + add_dependencies(gtest GMock) + + add_library(gtest_main INTERFACE) + target_include_directories(gtest_main INTERFACE ${gtest.dev}/include) + target_link_libraries(gtest_main INTERFACE ${gtest}/lib/libgtest_main.so gtest) + + add_library(gmock INTERFACE) + target_include_directories(gmock INTERFACE ${gtest.dev}/include) + target_link_libraries(gmock INTERFACE ${gtest}/lib/libgmock.so gtest) + + add_library(gmock_main INTERFACE) + target_include_directories(gmock_main INTERFACE ${gtest.dev}/include) + target_link_libraries(gmock_main INTERFACE ${gtest}/lib/libgmock_main.so gmock gtest_main) + + set(GTEST_LIBRARIES gtest) + set(GTEST_MAIN_LIBRARIES gtest_main) + set(GMOCK_LIBRARIES gmock gmock_main) + set(GTEST_BOTH_LIBRARIES ''${GTEST_LIBRARIES} ''${GTEST_MAIN_LIBRARIES}) + EOF + ''; + + postInstall = '' + wrapProgram $out/bin/anbox \ + --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [libGL libglvnd]} \ + --prefix PATH : ${git}/bin + + mkdir -p $out/share/dbus-1/services/ + cat < $out/share/dbus-1/services/org.anbox.service + [D-BUS Service] + Name=org.anbox + Exec=$out/libexec/anbox-session-manager + END + + mkdir $out/libexec + cat > $out/libexec/anbox-session-manager < $out/bin/anbox-application-manager <