about summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
authorGabriel Ebner <gebner@gebner.org>2019-03-23 18:34:36 +0100
committerGitHub <noreply@github.com>2019-03-23 18:34:36 +0100
commitd5a533de97421cd54e6b1fead6c55b6313c52a0f (patch)
treeb5f522fae88b219be9f7eb8a10cb2e639a6f8406 /pkgs/os-specific
parent3f217df9fbf97c645a4055d8f86128ed6dd5e79a (diff)
parent1e2b834cf0633d7e2c745b679b9aad585c1966ae (diff)
Merge pull request #58143 from worldofpeace/anbox-nits
anbox: cleanup
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/linux/anbox/default.nix64
1 files changed, 39 insertions, 25 deletions
diff --git a/pkgs/os-specific/linux/anbox/default.nix b/pkgs/os-specific/linux/anbox/default.nix
index f192a028464f9..fe9afb5d00fb2 100644
--- a/pkgs/os-specific/linux/anbox/default.nix
+++ b/pkgs/os-specific/linux/anbox/default.nix
@@ -16,11 +16,36 @@
 , protobufc
 , python
 , lxc
+, writeText
+, writeScript
+, runtimeShell
 }:
 
+let
+
+  dbus-service = writeText "org.anbox.service" ''
+    [D-BUS Service]
+    Name=org.anbox
+    Exec=@out@/libexec/anbox-session-manager
+  '';
+
+  anbox-application-manager = writeScript "anbox-application-manager" ''
+    #!${runtimeShell}
+
+    ${systemd}/bin/busctl --user call \
+        org.freedesktop.DBus \
+        /org/freedesktop/DBus \
+        org.freedesktop.DBus \
+        StartServiceByName "su" org.anbox 0
+
+    @out@/bin/anbox launch --package=org.anbox.appmgr --component=org.anbox.appmgr.AppViewActivity
+  '';
+
+in
+
 stdenv.mkDerivation rec {
   pname = "anbox";
-  version = "2019-03-07";
+  version = "unstable-2019-03-07";
 
   src = fetchFromGitHub {
     owner = pname;
@@ -29,10 +54,14 @@ stdenv.mkDerivation rec {
     sha256 = "1wfx4bsyxvrjl16dq5pqgial8rnnsnxzbak2ap0waddz847czxwz";
   };
 
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
   buildInputs = [
     cmake pkgconfig dbus boost libcap gtest systemd mesa glib
     SDL2 SDL2_image protobuf protobufc properties-cpp lxc python
-    makeWrapper libGL
+    libGL
   ];
 
   patchPhase = ''
@@ -68,31 +97,16 @@ stdenv.mkDerivation rec {
       --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [libGL libglvnd]} \
       --prefix PATH : ${git}/bin
 
-    mkdir -p $out/share/dbus-1/services/
-    cat <<END > $out/share/dbus-1/services/org.anbox.service
-    [D-BUS Service]
-    Name=org.anbox
-    Exec=$out/libexec/anbox-session-manager
-    END
+    mkdir -p $out/share/dbus-1/services
+    substitute ${dbus-service} $out/share/dbus-1/services/org.anbox.service \
+      --subst-var out
 
     mkdir $out/libexec
-    cat > $out/libexec/anbox-session-manager <<EOF
-    #!${stdenv.shell}
-    exec $out/bin/anbox session-manager
-    EOF
-    chmod +x $out/libexec/anbox-session-manager
-
-    cat > $out/bin/anbox-application-manager <<EOF
-    #!${stdenv.shell}
-    ${systemd}/bin/busctl --user call \
-      org.freedesktop.DBus \
-      /org/freedesktop/DBus \
-      org.freedesktop.DBus \
-      StartServiceByName "su" org.anbox 0
+    makeWrapper $out/bin/anbox $out/libexec/anbox-session-manager \
+      --add-flags session-manager
 
-    $out/bin/anbox launch --package=org.anbox.appmgr --component=org.anbox.appmgr.AppViewActivity
-    EOF
-    chmod +x $out/bin/anbox-application-manager
+    substitute ${anbox-application-manager} $out/bin/anbox-application-manager \
+      --subst-var out
   '';
 
   passthru.image = let
@@ -115,7 +129,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = https://anbox.io;
-    description = "Android in a box.";
+    description = "Android in a box";
     license = licenses.gpl2;
     maintainers = with maintainers; [ edwtjo ];
     platforms = [ "armv7l-linux" "aarch64-linux" "x86-64-linux" ];